En el Archivo localvar_testscript_4.mq5
Si despues de la llamada a GetPointer(), imprimimos el tipo de puntero, nos indica que los punteros son POINTER_AUTOMATIC no POINTER_DINAMIC
m_array[i]=GetPointer(array[i]); Print(EnumToString(CheckPointer(m_array[i]))); //POINTER_AUTOMATIC no POINTER_DINAMIC
Por lo tanto esta linea nunca se ejecuta
if(CheckPointer(m_array[i])==POINTER_DYNAMIC) delete(m_array[i]);
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
Artículo publicado La Orden de Creación y Destrucción de Objetos en MQL5:
Cada objeto, ya sea un objeto personalizado, un array dinámico o un array de objetos, se crea y elimina en el programa MQL5 de una forma particular. A menudo, algunos objetos son parte de otros objetos, y el orden de eliminación de objetos durante la desinicialización se vuelve especialmente importante. Este artículo facilita algunos ejemplos que muestran los mecanismos para trabajar con objetos.
Los programas MQL5 se escriben en conceptos de Object Oriented Programming (OOP, Programación Orientada al Objeto), y esto no solo abre nuevas posibilidades para la creación de bibliotecas personalizadas, sino que también le permitirá usar clases completas y probadas de otros desarrolladores. En la Biblioteca estándar incluida en el Terminal de Cliente MetaTrader 5 hay cientos de clases que contienen miles de métodos.
Para aprovechar al máximo el OOP, debemos aclarar algunos detalles sobre la creación y destrucción de objetos en programas MQL5. La Creación y Destrucción de Objetos se describe brevemente en la Documentación, y este artículo ilustrará este tópico con ejemplos.Autor: MetaQuotes Software Corp.