Wenn das eine globale Variable sein kann, dann könntest Du im TFileBrowser eine class var anlegen.
Normalerweise wird sowas über z.B. Instance gemacht.
Nur mal so grob hingeschrieben, ohne Gewähr:
Delphi-Quellcode:
type
TMyClass = class
class var FInstance;
class function Instance : TMyClass;
class constructor Create;
class destructor Destroy;
procedure CallWhatever;
end;
class constructor TMyClass.Create;
begin
FInstance := nil;
end;
class destructor TMyClass.Destroy;
begin
FInstance.Free;
end;
class function TMyClass.Instance : TMyClass;
begin
if not Assigned( FInstance ) then
begin
FInstance := TMyClass.Create;
end;
Result := FInstance;
end;
...
...
...
TMyClass.Instance.CallWhatever; //<== geht jederzeit, wird beim ersten Aufruf erzeugt, und lebt bis zum Programmende in einer Instanz
....
Je nachdem sollte man das aber noch threadsafe absichern, bei Bedarf.
Edit:
@jaenicke, völlig richtig mit dem destruktor, jetzt isser drin.