TheXpert: Estándar es estándar, así que no hay nada que hacer, de ninguna manera. Hay un error... comunícalo a los desarrolladores. No hay otra manera.
En la biblia estándar, la llamada es GetLastError.
Si no quieres hacerlo así, RtlGetLastError es similar.
Sí, entiendo las indirectas de la primera vez, sólo los desarrolladores de MQ también nos hacen caso, si no, codifican para nadie y luego la gente sufre.
Al aplicar sus clases en mi código me encontré con el siguiente problema: si el tamaño de la memoria compartida es mayor que 4096 bytes, memcpyX en CMemMapApi::Write / Read (líneas 219 y 231 en memmaplib.mqh) muestra "Access Violation". ¿Podrías decirme "dónde escarbar" para "hacer" que memcpy lea bloques de memoria mayores de 4kb?
El autor tiene un gran respeto por el trabajo realizado. Si al autor no le importa, incluiré estas dos clases en mi biblioteca de clases SCL.
Sin embargo, hay errores en las clases en cuanto a la definición de tipos estándar de Microsoft que causan otros errores en el algoritmo. Por ejemplo, el tipo DWORD no es int sino uint. Debido a esto, tuve que revisar algunos algoritmos en las clases, pero no fue muy difícil.
sergeev: bitness es el mismo. esto es suficiente para la llamada
Si de acuerdo con Microsoft, a continuación, en los métodos donde DWORD < 0 es una condición, habrá una advertencia, porque DWORD no puede ser menor que 0. Esto no es esencial, por supuesto, sobre todo porque se puede ajustar la lógica de algunos métodos. En general, me gustaron estas dos clases :)
No entiendo muy bien cómo se implementa la seguridad de los hilos. Supongamos: varios procesos escriben y leen al mismo tiempo. Lógicamente, debería haber algo como Lockfile, pero no lo encontré en lib. ¿O ya está implementado a nivel winapi?
Al_key: No entiendo muy bien cómo se implementa la seguridad de los hilos. Supongamos: varios procesos escriben y leen al mismo tiempo. Lógicamente, debería haber algo como Lockfile, pero no lo encontré en lib. ¿O ya está implementado a nivel winapi?
lib no tiene section binding, porque teóricamente el código puede ser ejecutado en diferentes procesos.
Para iniciar sesión y usar el sitio web MQL5.com es necesario permitir el uso de Сookies.
Por favor, active este ajuste en su navegador, de lo contrario, no podrá iniciar sesión.
Ha iniciado sesión. La autenticación de dos factores se ha desactivado. Vuelva a configurarla y escanee un nuevo código QR, o continúe con la autenticación de dos factores desactivada.
Estándar es estándar, así que no hay nada que hacer, de ninguna manera. Hay un error... comunícalo a los desarrolladores. No hay otra manera.
En la biblia estándar, la llamada es GetLastError.
pero debería ser así ::GetLastError.
De lo contrario kernel32::GetLastError es un error.
¿Cómo no corregirlo?
¿Cómo es posible que no se corrija?
Insinué y mostré y escribí.
#importar
int GetLastError(int )
---
y ya está, el contexto está libre.
Si no quieres hacerlo así, RtlGetLastError es similar.
Insinué y mostré y escribí.
#importar
int GetLastError(int )
---
y ya está, el contexto es libre.
Si no quieres hacerlo así, RtlGetLastError es similar.
no quieres hacerlo de esta manera - RtlGetLastError - similar
El autor tiene un gran respeto por el trabajo realizado. Si al autor no le importa, incluiré estas dos clases en mi biblioteca de clases SCL.
Sin embargo, hay errores en las clases en cuanto a la definición de tipos estándar de Microsoft que causan otros errores en el algoritmo. Por ejemplo, el tipo DWORD no es int sino uint. Debido a esto, tuve que revisar algunos algoritmos en las clases, pero no fue muy difícil.
_Konstantin_:
Por ejemplo, el tipo DWORD no es int, sino uint.
bitness es el mismo. esto es suficiente para la llamada
No entiendo muy bien cómo se implementa la seguridad de los hilos. Supongamos: varios procesos escriben y leen al mismo tiempo. Lógicamente, debería haber algo como Lockfile, pero no lo encontré en lib. ¿O ya está implementado a nivel winapi?
lib no tiene section binding, porque teóricamente el código puede ser ejecutado en diferentes procesos.
Para controlarlo, utilice su variante o https://www.mql5.com/es/code/1835.