Und zeig doch mal, was
TGuiInterfaceBase
ist.
Vielleicht kannst du das Problem auch damit lösen, daß du die Methode
BeforeDestruction
überschreibst und dort den Referenzzähler um 1 hochsetzt:
Delphi-Quellcode:
procedure TGUIFenster.BeforeDestruction;
begin
inherited;
Inc(FRefCount); // oder was thread-sicheres
end;
Den gleichen Mechanismus setzt Delphi selbst auch beim
Create
in
TInterfacedObject
ein (siehe
NewInstance
und
AfterConstruction
).