Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.07.18;
Скачать: CL | DM;

Вниз

EnumObjects   Найти похожие ветки 

 
psa247 ©   (2005-05-22 19:47) [0]

Bin.EnumObjects(0, SHCONTF_FOLDERS or SHCONTF_NONFOLDERS or SHCONTF_INCLUDEHIDDEN, enm);

Как высвободить память из-под enm? В MSDN написано:
The calling application must free the returned IEnumIDList object by calling its Release method.


У меня выводит сообщение:
---------------------------
Debugger Exception Notification
---------------------------
Project UMP.exe raised exception class EPrivilege with message "Privileged instruction". Process stopped. Use Step or Run to continue.


 
Ученик   (2005-05-22 20:10) [1]

>psa247 ©   (22.05.05 19:47)  
enm := nil или вообще ничего не делать, само освободится


 
psa247 ©   (2005-05-22 20:23) [2]

Не владею англ. профессионально, а что сие в переводе?
by calling its Release method


 
Ученик   (2005-05-22 20:42) [3]

>psa247 ©   (22.05.05 20:23) [2]



{ system.pas }

function _IntfClear(var Dest: IInterface): Pointer;
asm
       MOV     EDX,[EAX]
       TEST    EDX,EDX
       JE      @@1
       MOV     DWORD PTR [EAX],0
       PUSH    EAX
       PUSH    EDX
       MOV     EAX,[EDX]
       CALL    DWORD PTR [EAX] + VMTOFFSET IInterface._Release
       POP     EAX
@@1:
end;


В отладчике можно увидеть вызов IntfClear


 
VMcL ©   (2005-05-22 22:24) [4]

>>psa247 ©   (22.05.05 19:47)

Это для C/C++. В Delphi для переменных интерфейсного типа Release() вызвается автоматически при выходе переменной из области видимости или переприсваивании.



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

Текущий архив: 2005.07.18;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
4-1116854839
Dextor
2005-05-23 17:27
2005.07.18
Перехват всех сообщений программы


14-1119482785
kaif
2005-06-23 03:26
2005.07.18
Зацените сайт


14-1119347428
КаПиБаРа
2005-06-21 13:50
2005.07.18
Авария в ЕЭС России 25 мая 2005 г.


1-1120041228
Сергей3
2005-06-29 14:33
2005.07.18
Большой массив как параметр процедуры.


1-1120194700
Mishenka
2005-07-01 09:11
2005.07.18
Как узнать запущена ли в данный момент другая программа?