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
He descubierto un bug en CDictionary. Cuando se utiliza el método Reset borra el objeto CList en m_data. Las llamadas posteriores a otros métodos que recuperan el punto del diccionario reciben un puntero malo a cambio. Ejemplo:
Yo propondría la siguiente corrección para todos los métodos que utilizan el hash de claves para acceder a un objeto CList desde el array m_data.
He descubierto un bug en CDictionary. Cuando se utiliza el método Reset borra el objeto CList en m_data. Las llamadas posteriores a otros métodos que recuperan el punto del diccionario reciben un puntero malo a cambio. Ejemplo:
Yo propondría la siguiente corrección para todos los métodos que utilizan el hash de claves para acceder a un objeto CList desde la matriz m_data.
Gracias nicoli shen. Tu solución es la más "segura". Sin embargo, no puedo reproducir el problema.
Otra cosa que me molesta relacionada con esto: un puntero a un objeto debería poder aceptar un valor nulo. m_data es un array dinámico, por lo que debería devolver null cuando se recupera un índice sin rellenar del array, o se borra el elemento almacenado. Almacenar datos de m_data a CList* sin comprobar el puntero de antemano también se hace en otros métodos como Get() y Delete(), por lo que los scripts de prueba anteriores también deberían fallar si existe este problema. Una simple asignación entre un puntero y otro puede realizarse sin ningún error de acceso a puntero, incluso si el objeto al que apunta el lvalue ya ha sido borrado:
El problema puede reducirse al ejemplo anterior. Pero en este caso, no hay errores de puntero. Tengo curiosidad porque recuerdo haberme encontrado con este mismo problema en una build anterior, que fue rápidamente parcheada.
Actualmente estoy usando MT5 build 1932, pero déjame saber si me estoy perdiendo algo.
Tengo este error
Key' - token inesperado, probablemente falta el tipo Dictionary.mqh 39 23
Key' - función ya definida y de tipo diferente Dictionary.mqh 39 23
ver declaración de 'CDictionaryEntryBase::Key' Dictionary.mqh 20 22
intentando cumplir en build 3320
Tengo este error:
'Key' - token inesperado, probablemente falta el tipo? Dictionary.mqh 39 23
Key' - función ya definida y de tipo diferente Dictionary.mqh 39 23
ver declaración de 'CDictionaryEntryBase::Key' Dictionary.mqh 20 22
intentando cumplir en build 3320