Вниз
Скачать: CL | DM;

что то не уничтожилось :(   Найти похожие ветки 

← →
One_More_Slon ©   (2006-11-20 12:13) [0]

Господа, подскажите, пожалуйста, есть ли возможность отследить объекты созданные приложением и увидеть какие из них не уничтожились после завершения работы приложения.

Проблема следующая:
После завершения работы моей ocx от нее остается что-то, что вызывает run time error при закрытии всего приложения под отладкой.
Если не под отладкой, то просто держит файл осх и его нельзя удалить, изменить до закрытия всего приложения.


← →
Barloggg   (2006-11-20 12:17) [1]

ну, лог-файл может помочь. особенно если ради каждой записи открывать и закрывать файл.

сделай в каждой процеуре такие скобки

{$IFDEF UseLOG}
здесь код записи
{$ENDIF}
и при включенном {$DEFINE UseLOG}
будет запись - выключил этот код даже не компилируется.


← →
One_More_Slon ©   (2006-11-20 14:16) [2]

Че то я не понял что ты имеешь ввиду


← →
Джо ©   (2006-11-20 14:25) [3]

Попробуй погонять под альтернативными менеджерами памяти. Например CheckMem или FastMM. Последний (в несколько урезанной версии) является штантным МП в BDS2006.


← →
Barloggg   (2006-11-20 15:24) [4]

я имел ввиду просто веди лог. что ты создаешь, что уничтожаешь. потом в текстовом файле ручками подсчитаешь что к чему и может быть даже "где".

а остальное это лишь реализация.

Менеджер памяти лично меня не впечатлил. показывает лишь сам факт протечки, или я не понял как им правильно пользоваться.


← →
kami ©   (2006-11-20 21:37) [5]

FastMM4 и MemProof. Отлично дополняют друг друга.


← →
Kolan ©   (2006-11-20 21:53) [6]

> Менеджер памяти лично меня не впечатлил.

Конечно, действительно если он пишет что не уничтожился экземпляр: TMySpecialReportManager, то вспомнить где это создано никак...

ЗЫ
 Классная штука в BDS встроена пользуюсь постоянно.


← →
Джо ©   (2006-11-21 01:13) [7]

> [4] Barloggg   (20.11.06 15:24)
> Менеджер памяти лично меня не впечатлил. показывает лишь
> сам факт протечки, или я не понял как им правильно пользоваться.

Оттого, видимо, и "не впечатлил", что не понял, как пользоваться. CheckMem в большинстве случаев корректно показывает место в программе, где была выделена память (и не освобождена). Рекоммендую все-таки научиться им пользоваться, иногда полезно, особенно на чужих исходниках :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.037 c
2-1164123200
Уважаемый Ламер
2006-11-21 18:33
2006.12.10
Запись данных в таблицу


2-1164278966
vtur
2006-11-23 13:49
2006.12.10
Как передать DLL-процедуре указатель на Owner (TComponent)


3-1159787864
ceval
2006-10-02 15:17
2006.12.10
Enter в DBgridе


2-1164018221
werb
2006-11-20 13:23
2006.12.10
Win32 console и сообщения


3-1159778962
Dima L
2006-10-02 12:49
2006.12.10
Access и AdoTable




   Наверх