cómo descargar la dll - página 7

 

AlexEro,

He vuelto de las vacaciones, veo que tienes a los bastardos encima. Matémoslos juntos. )))))

HIdeYourRichess,

El problema con la carga de dlls después de borrar el indicador efectivamente existe, pero no es por errores en el código de la dll en sí, es porque los desarrolladores limitaron el uso de bibliotecas externas por los llamados "límites razonables".

No sé cuáles son esos límites; no se han molestado en explicarlos con detalle. Sin embargo, siempre que la biblioteca se ajuste a estos límites, las cargas y descargas están bien.

Pero en cuanto un programador perturbado empieza a manipular con excesivo celo la memoria o a robar tiempo de procesador del terminal para sus cálculos o toca la sagrada (oh, querida) cola de mensajes de terminal.exe, el malvado metaquot se vengará.

Que la Dll no se descargue no es nada nuevo. Me he encontrado con cosas así que me ponen los pelos de punta. Por ejemplo, algunos indicadores (que no contenían llamadas a DLL, ojo) empezaron a subir al espacio de direcciones de los demás. E incluso después de una llamada de una simple función de la DLL (incluso sin hacer nada en absoluto - ¡lo probé específicamente!) el terminal de repente se saltó (!) las líneas del programa MQL. ¡¡¡El bucle sobre la serie temporal for(i=limit;i>=0;i--) tras finalizarlo salía volando hacia la zona de índices negativos (lo que se confirmaba inevitablemente con las alertas)!!! Lo que más sorprendió fue que terminal.exe, tras reconocer toda la comicidad de la situación después de un cierto número de milisegundos y cagarse de inmediato, dejó inmediatamente de hacer ruido y devolvió i a su valor original de 0. Como si no hubiera pasado nada.

Vamos a hablar de lo que hace la utilidad regsvr después de haber solucionado los errores con el manejo del código de los programas Ex4.

 
HideYourRichess >> :

Una vez más, no tengo ningún problema con el dll en ningún sitio. Si tienes problemas, son tus problemas de programación, ni MS ni MT tienen la culpa. Y el hecho de que tengas que usar el "viejo" VC - debería estar claro de todos modos.

Un hombre divertido.

Todo se resuelve con pruebas.

.

Así que coge la dll, sácala del EA - si se puede quitar

con MT corriendo, eso es, eres un héroe, ¡felicidades!

Y si falla, ¿por qué estás escribiendo esto aquí? ¿Para quién?

¿Para que los clientes vean qué tipo de trato recibirán cuando trabajen con sus productos?

¿O para que todos sepan exactamente a quién no pedir consejo?

.

Ahora pienso, ¿qué tipo de respuesta querrían las personas que hicieron la pregunta?

lo más probable es esto: crear un exe, cargar una dll con enlace dinámico en él

a través de GetProcAddress() y sacar las llamadas.

Si cuando el Exe se ejecuta no elimina la Dll después de descargarla, tienes un problema.

Esto se llama obtener un resultado objetivo real en lugar de inventar

algunos "errores" de "su programación".

Y a este resultado obtenido se le puede sumar una teoría :-)...

.

Las teorías, me arrepiento, han sido todas inventadas aquí.

Pero eso es porque eres demasiado perezoso para levantar el % para responder correctamente.

.

Y VBAG... bueno... ¡Bravo!

Una descripción sensata del problema, un caso concreto, todo se aclaró con claridad.

Aunque para ti, si trabajas con un servidor de aplicaciones, sustituir la dll no será tan relevante pronto :-).

.

Francamente hablando, para la depuración es mejor tener datos *estáticos* en un archivo.

Haz que un EA vuelque los datos en un archivo para ti.

Durante los últimos 7 años he estado leyendo y escribiendo archivos de varios megabytes en una sola línea: todo es muy rápido.

Y para un archivo separado por tabulaciones se puede convertir esta gran cadena en una matriz de una sola vez y sin substr()'s

(en décimas de segundo), porque la división en cadenas y luego en columnas es de alguna manera demasiado

demasiado lento (fueron unos pocos segundos). Para que si algo falla, el problema pueda ser *garantizado*.

reproducirse, en lugar de depender de generadores de números aleatorios.

.

Y con este enfoque (!) las pruebas se simplificarían. Porque no es una Dll.

Porque el botón de ejecución en ONE CLICK compilará, deslizará, ejecutará y el propio exe tomará los datos necesarios.

.

P.D.: sólo los problemas de "programación" pueden ser resueltos...

 

Estoy de acuerdo con los compañeros anteriores en que mi DLL debe utilizarse en MT4 con precaución y de forma limitada. Esto significa lo mencionado anteriormente, así como el hecho de que usted debe desarrollar su DLL gradualmente, y no exóticos. Su DLL es un invitado temporal en la casa de otro semi-interprete en MQL4.

2 alsu: estoy enfermo, no tengo nada que hacer, no puedo llevar a cabo un proyecto inteligente en la cama, pero una conversación con frikis no requería mucho esfuerzo mental, así que lo garabateé. Estoy esperando cuando su conciencia despierte, pero aún no es visible, sólo demagogia y verborrea ....

 
alsu >> :

El problema de la descarga de la DLL después de la eliminación del indicador realmente existe, pero no está relacionado con la presencia o ausencia de errores en el código de la DLL en sí, sino con el hecho de que los desarrolladores limitaron el uso de las bibliotecas externas por los llamados "límites razonables".

alsu >> :

Cuáles son estos límites, el carajo lo sabe, no se molestan en explicarlo en detalle. Sin embargo, mientras la biblioteca se ajuste a estos límites, las cargas y descargas van bien.

Pero en cuanto un programador perturbado empieza a manipular con excesivo celo la memoria o a robar tiempo de procesador del terminal para sus cálculos o toca la sagrada (oh, querida) cola de mensajes de terminal.exe, el malvado metaquot se vengará.

Que la Dll no se descargue no es nada nuevo. Me he encontrado con cosas así que me ponen los pelos de punta. Por ejemplo, algunos indicadores (que no contenían llamadas a DLL, ojo) empezaron a subir al espacio de direcciones de los demás. E incluso después de una llamada de una función simple desde una DLL (incluso sin hacer nada en absoluto - ¡lo probé específicamente!) el terminal de repente se saltó (!) líneas del programa MQL. El bucle de series temporales for(i=limit;i>=0;i--) tras su finalización salía a la zona de índices negativos (¡¡¡que se confirmaba inevitablemente con las alertas!!!) Lo que más sorprendió fue que terminal.exe, tras reconocer toda la comicidad de la situación después de un cierto número de milisegundos y cagarse de inmediato, dejó inmediatamente de hacer ruido y devolvió i a su valor original de 0. Como si no hubiera pasado nada.

Vamos a discutir lo que hace la utilidad regsvr después de arreglar los errores del procesamiento del código eX4.

Como dicen, puedes romperte la polla si eres estúpido. En otras palabras, si no puedes escribir programas normales que funcionen en MQL - es tu problema, no el de MQL, eso es todo. Puedes escribir un dll con errores en C, pero eso no anula el hecho de que C sea un gran lenguaje. Y aquí también, un mal bailarín, es decir, tú, se interpone en el camino de las bolitas. Entiendo su deseo de culpar a MT o a MS de sus errores. Si no desaparece con la edad, nada te ayudará.

 
HideYourRichess >> :

Aquí, como dicen, puedes romperte la polla tontamente. En otras palabras, si no puedes escribir programas decentes que funcionen en MQL - es tu problema, no MQL, eso es todo. Puedes escribir un dll con errores en C, pero eso no anula el hecho de que C sea un gran lenguaje. Y aquí también, un mal bailarín, es decir, tú, se interpone en el camino de las bolitas. Entiendo su deseo de culpar a MT o a MS de sus errores. Si no desaparece con la edad, entonces ya nada te ayudará.

A juzgar por tu avatar, a tu edad no hay nada que romper ni que interferir.

¿Has visto mis dlls? ¿Por qué demonios las llamas malas palabras? Nunca he escrito fallos, no tengo tiempo para ello. El fallo en este caso estaba escrito con metacomillas (no estoy haciendo reclamaciones a MS, por cierto). Si tú nunca pones algo más complejo que 2 +2 en una dll, no significa que los demás no lo hagan. 2 +2 no se pegará.

 
jartmailru >> :

Un hombre divertido.

Todo se resuelve con pruebas.


Lo he probado y me funciona bien.


jartmailru >> :

Así que coge la dll, sácala del EA - si se puede quitar

con MT corriendo, eso es, eres un héroe, ¡felicidades!

Y si falla, ¿por qué estás escribiendo esto aquí? ¿Para quién?

¿Para que los clientes puedan ver cómo serán tratados mientras trabajan con sus productos?

¿O para que todo el mundo sepa exactamente a quién no debe acudir para pedir consejo?


¿Qué quiere decir con "puede ser eliminado"? Mis dlls en el EA se comportan decentemente. Debo estar haciendo algo completamente equivocado.

 
HideYourRichess >> :

>> Ese es su problema, no el de MQL.

Si el intérprete no tiene fallos, no se saltará los comandos en el código, ¡aunque te cagues en los pantalones aquí!

 
HideYourRichess >> :

¿Qué quiere decir con "puede ser eliminado"? Mis dlls en el EA se comportan decentemente. Debo estar haciendo algo completamente equivocado.

Lo que quiero decir es que hay que especificar una dll concreta en el EA.

Entonces tiene que ejecutar el Asesor Experto y no salir del Metatrader.

A continuación, el caso de uso más importante es fingir que estamos sustituyendo la dll por una nueva.

Si falla cuando el metatrader está funcionando (y lo compruebo borrando el archivo), entonces

entonces el sistema piensa que la dll está en uso...

voilá. Su Asesor Experto está hecho y la dll no ha sido eliminada.

Ahora tienes que reiniciar toda la aplicación para reemplazar la Dll.

 
AlexEro >> :

Estoy enfermo.

H1N1;)

>> dijeron que tenían el prefijo.

 
alsu >> :

A juzgar por tu avatar, a tu edad no hay nada que romper ni que interferir.

¿Has visto mis dlls? ¿Por qué demonios las llamas malas palabras? Nunca he escrito fallos, no tengo tiempo para ello. El fallo en este caso estaba escrito con metacomillas (no estoy haciendo reclamaciones a MS, por cierto). Si tú nunca pones algo más complejo que 2 +2 en una dll, no significa que los demás no lo hagan. 2 +2 no se pegará.


Oooooh, muyuye se ha rebajado a intentar burlarse del avatar. El siguiente paso es intentar burlarse del apodo.


¿De qué habló en su anterior discurso? ¿Qué horrores contó a un público atónito? Al verlo, estoy realmente perplejo. Habría que trabajar mucho para conseguirlo. De ahí las malas palabras sobre sus dlls. Pero si estos horrores que has descrito no conciernen a los dlls, ¿por qué los cuentas?


Por cierto, ¿qué significa 2+2? ¿Es una medida de dificultad? Intenta implementar algo como 2+2 por tu cuenta como en Excel y te sorprenderá lo difícil que es.