Erros, bugs, perguntas - página 2795

 
Artyom Trishkin:
Penso que se acrescentam todas as indicações à lista. O próprio subsistema terminal remove tais objectos, ponteiros que se encontram na lista CArrayObj

Aqui tem uma potencial fuga de memória.

Se houver uma fuga de memória (por objecto ponteiro não foi apagado), então no final o registo diz quais e quantos objectos não foram apagados e quanta memória não foi libertada. Mas eu não tinha nada parecido com isso. Os objectos são eliminados, mas os seus objectos gráficos não são todos eliminados.

Rashid Umarov notou que o problema é que o gráfico não tem tempo para processar um número tão grande de comandos para eliminar objectos da lista! O que é que as fugas de memória têm a ver com isto?
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
 
Mihail Matkovskij:

Isto está apenas no exemplo. No indicador em que estou a trabalhar, os nomes são bastante complicados. E eu fiz o exemplo apenas para fins de demonstração.

Qual é o problema em fazer um prefixo? Talvez devesse tê-lo verificado primeiro?

 
Mihail Matkovskij:

Se houver uma fuga de memória (por objecto ponteiro não foi apagado), então no final o registo diz quais e quantos objectos não foram apagados e quanta memória não foi libertada. Mas eu não tinha nada parecido com isso. Os objectos são eliminados, mas os seus objectos gráficos não são todos eliminados.

Rashid Umarov notou que o problema é que o gráfico não tem tempo para processar um número tão grande de comandos para eliminar objectos do gráfico! O que é que as fugas de memória têm a ver com isto?
Eu escrevi "potencial". Isto significa que terá de procurar novamente mais tarde. É melhor fazê-lo de imediato.
 
Alexey Viktorov:

Qual é o problema em fazer um prefixo? Talvez devesse ter assinalado esta opção primeiro?

Tenho de refazer todos os algoritmos de nomeação de objectos no meu indicador e não sei se vai funcionar... Há muito código, acredite-me.

Talvez haja outra forma. Por exemplo, primeiro chamar ObjectDelete para todos os objectos, e depois, após um atraso, chamar ObjectFind. E mais uma vez eliminar os objectos que não tenham sido eliminados. E assim até que o seu número seja 0. Como se pode fazer um atraso num indicador, se a função do sono não funciona aí?

Artyom Trishkin:
Escrevi "potencial". Significa que terá de o procurar de novo. É melhor ir directamente a ele.
Isto é apenas um exemplo e não se trata de fugas de memória. No meu indicador, a sua configuração é diferente.
 
Mihail Matkovskij:

Tenho de refazer todos os algoritmos de nomeação de objectos no meu indicador. E há muito código, acredite-me.

Talvez haja outra forma. Por exemplo, primeiro chamar ObjectDelete para todos os objectos e depois, após um atraso, chamar ObjectFind. E mais uma vez eliminar os objectos, que não são eliminados. E assim até que o seu número seja 0. Como podemos fazer um atraso num indicador se a função Dormir não funciona aí?

Esta é uma abordagem muito boa. Mudo tediosamente tudo, deixo que os programadores mudem tediosamente tudo. Quem o impede de verificar no seu próprio exemplo e anunciar o resultado? Nem sequer queres fazer isto: "Deixa-os tentar. Prefiro esperar...". © V.Vysotsky.

 
Alexey Viktorov:

Essa é uma abordagem muito boa. Não preciso de mudar tudo, deixar que os criadores mudem tudo. Quem o impede de testar o seu próprio exemplo e de comunicar os resultados? Nem sequer queres fazer isso: "Deixa-os experimentar. Prefiro esperar...". © V.Vysotsky.

Eu não disse tal coisa, que os criadores fariam algo por mim! O algoritmo de nomeação de objectos não foi concebido para chamar mais tarde a função ObjectDeledeAll. Está apenas no exemplo da simples nomenclatura "tendência".

 
Mihail Matkovskij:

Eu não disse isso para que os criadores me fizessem algo por mim!

Não explicitamente, mas a mensagem sobre um inseto inexistente lê-se assim.

 
Alexey Viktorov:

Não explicitamente dito, mas a mensagem sobre o insecto inexistente lê-se dessa forma.

Que outro insecto? Rashid Umarov explicou tudo e eu compreendi-o. Só que, por alguma razão, não entendeu o que está escrito aqui nas mensagens. :)

 
Mihail Matkovskij:

Que outro insecto?

Este aqui.

Mihail Matkovskij:

Fez um código fonte onde este erro ocorre:

 
Alexey Viktorov:

Sobre isso

Não tem mais nada a fazer neste fórum, Alexey, além de torcer as minhas mensagens para que pareçam reivindicações aos criadores em meu nome...? Qual terá sido a razão de um "entusiasmo" tão estranho da sua parte? Prefere ajudar os novatos com as suas perguntas nos tópicos apropriados, do que fazer disparates aqui...!

Razão: