Ошибки, баги, вопросы - страница 2795

 
Artyom Trishkin:
Вы же по-моему добавляете все указатели в список. Подсистема терминала сама удаляет такие объекты, указатели на которые лежат в списке CArrayObj

Здесь у вас потенциальная утечка памяти.

Если утечка памяти (по указателю объект не был удален), то по завершению в журнале пишет, каких и сколько объектов не было удалено и сколько памяти не освобождено. Но у меня не было ничего подобного. Объекты удаляются, а их объекты чарта удаляются не все.

Rashid Umarov заметил, что проблема в том что график не успевает обработать такое большое количество команд на удаление объектов чарта! При чем здесь утечки памяти?
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
Документация по MQL5: Основы языка / Типы данных / Указатели объектов
  • www.mql5.com
//| Script program start function                                    | //|  Объекты всегда передаются по ссылке                             | //| Передача массива объектов                                        | //| Передача массива указателей на объект                            |
 
Mihail Matkovskij:

Это только в примере. В индикаторе же, над которым я работаю довольно сложные имена. А пример я сделал просто для демонстрации.

А в чём проблема сделать префикс? Может надо было сначала проверить такой вариант?

 
Mihail Matkovskij:

Если утечка памяти (по указателю объект не был удален), то по завершению в журнале пишет, каких и сколько объектов не было удалено и сколько памяти не освобождено. Но у меня не было ничего подобного. Объекты удаляют, а их объекты чарта удаляются не все.

Rashid Umarov заметил, что проблема в том что график не успевает обработать такое большое количество команд на удаление объектов чарта! При чем здесь утечки памяти?
Я ж написал "потенциальное". Это значит, что потом будете опять искать. Лучше сразу. 
 
Alexey Viktorov:

А в чём проблема сделать префикс? Может надо было сначала проверить такой вариант?

Это мне нудно переделывать все алгоритмы именования объектов в моем индикаторе и не известно заработает ли... А там кода достаточно много, уж поверьте.

Может быть есть какой-то другой способ. Например, сначала вызвать ObjectDelete для всех объектов, а потом после задержки вызвать ObjectFind. И снова удалить те объекты, которые не удалились. И так пока их количество не станет равным 0. Но как в индикаторе сделать задержку, если функция Sleep там не работает?

Artyom Trishkin:
Я ж написал "потенциальное". Это значит, что потом будете опять искать. Лучше сразу. 
Это просто пример и суть не в утечках памяти. В индикаторе у меня всё устроено по-другому.
 
Mihail Matkovskij:

Это мне нудно переделывать все алгоритмы именования объектов в моем индикаторе. А там кода достаточно много, уж поверьте.

Может быть есть какой-то другой способ. Например, сначала вызвать ObjectDelete для всех объектов, а потом после задержки вызвать ObjectFind. И снова удалить те объекты, которые не удалились. И так пока их количество не станет равным 0. Но как в индикаторе сделать задержку, если функция Sleep там не работает?

Очень правильный подход. Мне нудно всё менять, пусть разработчики нудно всё меняют. Кто вам мешает проверить на вашем-же примере и огласить результат? Вы даже этого сделать не хотите, «Пусть пробуют они. Я лучше пережду…» © В.Высоцкий.

 
Alexey Viktorov:

Очень правильный подход. Мне нудно всё менять, пусть разработчики нудно всё меняют. Кто вам мешает проверить на вашем-же примере и огласить результат? Вы даже этого сделать не хотите, «Пусть пробуют они. Я лучше пережду…» © В.Высоцкий.

Я такого не говорил, чтобы разработчики за меня что-то делали! Просто сам алгоритм именования объектов у меня не рассчитан на последующий вызов функции ObjectDeledeAll. Это только в примере простое именование "trend".

 
Mihail Matkovskij:

Я такого не говорил, чтобы разработчики за меня что-то делали!

Прямо не говорили, но сообщение о несуществующем баге читается именно так.

 
Alexey Viktorov:

Прямо не говорили, но сообщение о несуществующем баге читается именно так.

О каком еще баге?  Rashid Umarov всё объяснил и я его понял. Только не поняли почему-то вы того что пишется здесь в сообщениях. :)

 
Mihail Matkovskij:

О каком еще баге?

Об этом

Mihail Matkovskij:

Сделал исходник, где возникает данный баг:

 
Alexey Viktorov:

Об этом

Вам на форуме больше нечем заняться, Алексей, кроме того что, передергивать мои сообщения, чтобы они походили на претензии к разработчикам от моего имени?... Мне интересно, чем был вызван столь странный "энтузиазм" с вашей стороны? Лучше новичкам бы помогали с их вопросами в соответствующих ветках, чем здесь ерундой заниматься!...