Czy ktoś wie, dlaczego tzw procedurka inicjalizująco-kończąca w dll-ach działa mi w Delphi 5 a nie działa w Delphi 6?? Dll wykrywa zjawisko PROCESS_ATTACH a nie wykrywa pozostałych.... :-) --Delphi 4 + 6
Skysh The God, Your Slave
Czy ktoś wie, dlaczego tzw procedurka inicjalizująco-kończąca w dll-ach działa mi w Delphi 5 a nie działa w Delphi 6?? Dll wykrywa zjawisko PROCESS_ATTACH a nie wykrywa pozostałych.... :-) --Delphi 4 + 6
Skysh The God, Your Slave
Skysh napisał:
Czy ktoś wie, dlaczego tzw procedurka inicjalizująco-kończąca w dll-ach działa mi w Delphi 5 a nie działa w Delphi 6?? Dll wykrywa zjawisko PROCESS_ATTACH a nie wykrywa pozostałych.... :-)
>
Po pierwsze nie wiem czy dobrze Cie rosumiem, po drugie nie wiem, czy sam to pamietam... Ale oto co pamietam..
PROCESS_ATTACH nalezy obslugiwac miedzy begin a a end
pozostale:
procedure MyDLLProc(Reason: Integer);
begin
if Reason = DLL_PROCESS_DETACH then
{ obsluga DETACH}
end;
begin
DLLProc := @MyDLLProc;
{ inicjalizacja=obsluga PROCESS_ATTACH}
end.
--Pawel {Delphi 6 Personal}
Po pierwsze: naciśnij F1
u mnie jest to samo.
w delphi 2 procedura 'DllMyProc' jest wykonywana w za każdym razem (ładowanie biblioteki, zwalnianie biblioteki, ładowanie wątku, zwalnianie wątku). natomiast w delphi 6 wykonywana jest tylko w wypadku ładowania biblioteki (DLL_PROCESS_ATTACH) , w pozostałych przypadkach nie jest wykonywana (DLL_PROCESS_DETACH, DLL_THREAD_ATTACH, DLL_THREAD_DETACH). nie wiem dlaczego tak się dzieje. w delphi 6 nie działa mi także procedura skojarzona z ExitProc (też w dll), natomiast w delphi 2 działa.
jeśli ktoś miał podobny przypadek i udało mu się go rozwiązać to proszę o odpowiedz [glowa]