Ich habe so etwas mal mit 2 globalen Variablen und einer Funktion realisiert:
Delphi-Quellcode:
globVarMain: TObject = nil;
globVarTmp: TObject = nil;
function MyVar: TObject;
begin
if Assigned(globVarTmp) then
Exit(globVarTmp);
if not Assigned(globVarMain) then
globVarMain := TObject.Create;
Exit(globVarMain);
end;
Wenn globVarTmp etwas zugewiesen wird, wird die Instanz verwendet, sonst die Main-Variable.