[Delphi] Dll z innej strony

0

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

0

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.... :-)
&gt
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

0

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]

1 użytkowników online, w tym zalogowanych: 0, gości: 1