Está perdiendo oportunidades comerciales:
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Registro
Entrada
Usted acepta la política del sitio web y las condiciones de uso
Si no tiene cuenta de usuario, regístrese
Me pregunto si es posible obtener un puntero real a una función. Los punteros obtenidos usando typedef funcionan perfectamente bien dentro del programa mql. Pero desgraciadamente no he conseguido pasarlos a la dll.
Si conoces C++ + ensamblador incorporado y sabes qué y cómo poner en la pila, y los términos llamada lejana y cercana están claros, puedes intentarlo. No puedo garantizar que funcione, pero es posible.
¿Dónde está el error?
Su ejemplo en el código es bastante diferente. Estoy tratando de obtener el valor de la dirección.
Hay un ejemplo en el artículo.
Su ejemplo en el código es bastante diferente. Estoy tratando de obtener el valor de la dirección.
Hay un ejemplo en el artículo.
He resaltado los lugares donde se escribe por dirección. Sin embargo, este ejemplo del artículo también provoca un fallo.Entendí inmediatamente lo que querías. Estoy seguro de que la dirección devuelta por las funciones WinAPI no se puede utilizar en MQL5. Pero la dirección se pasa a los argumentos correctamente.
Puedes estar absolutamente seguro escribiendo una simple DLL que muestre la direccion recibida en el argumento y la devuelva. Y comparar el resultado en MQL5. Mucha gente aqui practica C.
¿Dónde está el error?
Corregido el tuyo:
Usted debe tener un Lenght de 4 o menos en todas partes
Copiar más de 2GB funciona
Obteniendo la dirección inicial de un array:
Su ejemplo en el código es bastante diferente. Estoy tratando de obtener el valor de la dirección.
Hay un ejemplo en el artículo.
He resaltado los lugares donde se escribe por dirección. Sin embargo, este ejemplo del artículo también causa un fallo.Claro que lo hace... los prototipos son de 4 (dirección de 32 bits a la unsigned int), y los compilas/ejecutas en 5 (tiene 64).
No te puedes fiar de nadie, si usas WinAPI, escribe tu mismo los prototipos. O mejor escribe tu propia DLL, que tire de winapi, y arriba en mql da interfaces de mayor nivel
Copiar más de 2 GB funciona
Obtención de la dirección inicial del array:
Me perdí el punto con la dirección de 64bit. Pero sigo fallando con la dirección corregida. ¿Es seguro que debería funcionar? ¿Puedo ver un ejemplo completo del código fxsaber corregido?
Hasta ahora todavía estoy de mi propia opinión - la dirección de WinAPI es incompatible con MQL.
Arreglado el tuyo:
claro que si...los prototipos son de 4 (32 bit address a la unsigned int) y compilan/ejecutan en 5 (tiene 64).
Gracias, ahora funciona.
El último parámetro (que es cnt) también es de 64 bits. Es size_t
https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/memcpy-wmemcpy