Warum baust du nicht einfach 2 Zusätzliche Funktionen und exportierst sie mit. Diese können das initialisieren bzw. abschließen übernehmen.
Beispiel:
Delphi-Quellcode:
var
FReference: TObject;
function GetReference: TObject;
begin
Result := FReference;
end;
procedure Init;
begin
//Wichtig zum Schutz vor mehrfach Initialisierung
if (freference = NIL) then
fReference := TSomeClose.create;
end;
procedure Done;
begin
if (frefrenece <> NIL) then
freeandnil(freference);
end;
exports
GetReference,
init,
done;
initialization
init;
finalization
done;
Bei Komponenten von Drittherstellern, brauchst du natürlich dafür den source.