![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DisposePIDL и окно отладчика
Андрей Молчанов © (2005-08-07 18:03:00)Здравствуйте!
Обзавелся я следующей функцией:
procedure TfrmProperties.DisposePIDL(ID: PItemIDList);
var
Malloc: IMalloc;
begin
if ID = nil then Exit;
OLECheck(SHGetMalloc(Malloc));
Malloc.Free(ID);
end;
Но есть проблема - если вызвать ее для одного pidl несколько раз, то вылезает окно отладчика. Это сильно плохо? Если да, то как с этим бороться?
Андрей Молчанов (2005-08-07 19:16:00) [1]
> Не вызывать два раза.
Спасибо. Все, нашел - у меня для каждого элемента в дереве Data указывает на запись с переменными ID и FullID. А для десктопного элемента они одинаковые.
> Это ужасно.
...
> Это грубая ошибка в логике программы.
Чисто для расширения теоретических познаний - а что тут такого ужасного? Если нажать F9, то программа продолжает работу дальше. Даже сообщения никакого нет.
DiamondShark (2005-08-07 18:13:00) [2]
> Это сильно плохо?
Это ужасно.
> Если да, то как с этим бороться?
Не вызывать два раза.
Это грубая ошибка в логике программы.