Errores, fallos, preguntas - página 2795

 
Artyom Trishkin:
Creo que se añaden todos los punteros a la lista. El propio subsistema de terminales elimina estos objetos, cuyos punteros se encuentran en la lista CArrayObj

Aquí tienes una posible fuga de memoria.

Si hay una fuga de memoria (por objeto puntero no fue borrado), entonces al terminar el registro dice cuáles y cuántos objetos no fueron borrados y cuánta memoria no fue liberada. Pero yo no tenía nada de eso. Los objetos se borran, pero no se borran todos los objetos del gráfico.

Rashid Umarov se dio cuenta de que el problema es que el gráfico no tiene tiempo para procesar un número tan grande de comandos para eliminar objetos de la lista. ¿Qué tienen que ver las fugas de memoria?
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
 
Mihail Matkovskij:

Esto es sólo en el ejemplo. En el indicador en el que estoy trabajando, los nombres son bastante complicados. Y el ejemplo lo hice sólo para demostrarlo.

¿Cuál es el problema de hacer un prefijo? ¿Tal vez deberías haberlo comprobado antes?

 
Mihail Matkovskij:

Si hay una fuga de memoria (por objeto puntero no fue borrado), entonces al terminar el registro dice cuáles y cuántos objetos no fueron borrados y cuánta memoria no fue liberada. Pero yo no tenía nada de eso. Los objetos se borran, pero no se borran todos los objetos del gráfico.

Rashid Umarov se dio cuenta de que el problema es que el gráfico no tiene tiempo para procesar un número tan grande de comandos para eliminar objetos del gráfico. ¿Qué tienen que ver las fugas de memoria?
He escrito "potencial". Esto significa que tendrá que buscar de nuevo más tarde. Es mejor hacerlo de inmediato.
 
Alexey Viktorov:

¿Cuál es el problema de hacer un prefijo? ¿Tal vez debería haber comprobado esta opción primero?

Tengo que rehacer todos los algoritmos de nombramiento de objetos en mi indicador y no sé si funcionará... Hay mucho código, créeme.

Tal vez haya otra manera. Por ejemplo, primero se llama a ObjectDelete para todos los objetos, y luego, después de un retraso, se llama a ObjectFind. Y de nuevo eliminar aquellos objetos que no han sido borrados. Y así hasta que su número sea 0. ¿Cómo se puede hacer un retraso en un indicador, si la función Sleep no funciona allí?

Artyom Trishkin:
He escrito "potencial". Esto significa que tendrá que buscarlo de nuevo. Será mejor que vayas directamente a ella.
Esto es sólo un ejemplo y no se trata de fugas de memoria. En mi indicador, está configurado de manera diferente.
 
Mihail Matkovskij:

Tengo que rehacer todos los algoritmos de nombramiento de objetos en mi indicador. Y hay mucho código, créeme.

Tal vez, hay alguna otra manera. Por ejemplo, primero llama a ObjectDelete para todos los objetos y luego, después de un retraso, llama a ObjectFind. Y de nuevo borrar los objetos que no se borran. Y así hasta que su número sea 0. ¿Cómo podemos hacer un retraso en un indicador si la función Sleep no funciona allí?

Este es un enfoque muy bueno. Yo cambio tediosamente todo, y dejo que los desarrolladores cambien tediosamente todo. ¿Quién le impide comprobarlo con su propio ejemplo y anunciar el resultado? Ni siquiera quieres hacer esto, "Deja que lo intenten. Prefiero esperar...". © V.Vysotsky.

 
Alexey Viktorov:

Es un enfoque muy bueno. No necesito cambiarlo todo, deja que los desarrolladores lo cambien todo. ¿Quién le impide probar su propio ejemplo e informar de los resultados? Ni siquiera quieres hacer eso, "Deja que lo prueben. Prefiero esperar...". © V.Vysotsky.

No he dicho tal cosa, ¡que los desarrolladores harían algo por mí! El algoritmo de nombrar objetos no está diseñado para llamar a la función ObjectDeledeAll más tarde. Es sólo en el ejemplo de la simple denominación de "tendencia".

 
Mihail Matkovskij:

No lo he dicho para que los desarrolladores hagan algo por mí.

No explícitamente, pero el mensaje sobre un error inexistente se lee así.

 
Alexey Viktorov:

No se dice explícitamente, pero el mensaje sobre el error inexistente se lee así.

¿Qué otro bicho? Rashid Umarov lo explicó todo y le entendí. Sólo que por alguna razón no has entendido lo que está escrito aquí en los mensajes. :)

 
Mihail Matkovskij:

¿Qué otro bicho?

Este.

Mihail Matkovskij:

Hice un código fuente donde se produce este error:

 
Alexey Viktorov:

Sobre eso

¿No tienes nada más que hacer en este foro, Alexey, que tergiversar mis mensajes para que parezcan reclamaciones a los desarrolladores en mi nombre...? Me pregunto cuál es el motivo de ese extraño "entusiasmo" por su parte. ¡Prefieres ayudar a los novatos con sus preguntas en los hilos correspondientes, que hacer tonterías aquí...!

Razón de la queja: