Eine Vorlage könnte etwa so aussehen:
Delphi-Quellcode:
library foo;
uses
Windows;
{$IFNDEF CONDITIONALDEFINE}
// type def for Delphi 2-5
type
TDLLProc = procedure(Reason: Integer);
{$ENDIF}
var
DllProcNext: TDLLProc; // nil
procedure LibraryProc(Reason: Integer);
begin
case Reason of
DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls(HInstance);
end;
if Assigned(DllProcNext) then
DllProcNext(Reason);
end;
begin
DllProcNext := TDLLProc(DllProc);
TDLLProc(DllProc) := LibraryProc;
LibraryProc(DLL_PROCESS_ATTACH);
end.
Hat den Vorteil, dass es bei Delphi 7 keine unnötigen Warnungen gibt und es auch mit Delphi 2,3,4,5 und 6 funktioniert.
(edit: Gross-/Kleinschreibung gefixt
)