Alternativ kann man auch noch die
DllMain
austauschen:
Delphi-Quellcode:
var
DLLProcNext: procedure(Reason: Integer);
procedure DLLMain(Reason: Integer);
begin
case Reason of
DLL_PROCESS_ATTACH: ;
DLL_THREAD_ATTACH : ;
DLL_THREAD_DETACH : ;
DLL_PROCESS_DETACH: ;
end;
if Assigned(DLLProcNext) then DLLProcNext(Reason);
end;
begin
DLLProcNext := TInterlocked.Exchange(@DLLProc, @DLLMain);
DLLMain(DLL_PROCESS_ATTACH);
end.
In deinem Falle sollte
finalization
aber ausreichend sein.