Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Reihenfolge von Initialization durcheinander

  Alt 13. Jan 2006, 16:05
Hi shmia...

erst mal Danke für die Antwort. Ich komme aber dennoch nicht weiter.
Das ist der Code:
Delphi-Quellcode:
unit dxNavBarViewsFact;
interface
function dxNavBarViewsFactory: TdxNavBarViewsFactory;
implementation
var
  FNavBarViewsFactory: TdxNavBarViewsFactory;
...
function dxNavBarViewsFactory: TdxNavBarViewsFactory;
begin
  if FNavBarViewsFactory = nil then
    FNavBarViewsFactory := TdxNavBarViewsFactory.Create;
  Result := FNavBarViewsFactory;
end;
...
initialization

finalization
  FreeAndNil(FNavBarViewsFactory);
und die andere Unit:
Delphi-Quellcode:
unit dxNavBarXPViews;
...
initialization
  dxNavBarViewsFactory.RegisterView(dxNavBarXP1View, 'XP1View', TdxNavBarXP1Painter);
  dxNavBarViewsFactory.RegisterView(dxNavBarXP2View, 'XP2View', TdxNavBarXP2Painter);
  dxNavBarViewsFactory.RegisterView(dxNavBarXPExplorerBarView, 'XPExplorerBarView', TdxNavBarXPExplorerBarPainter);

finalization
  dxNavBarViewsFactory.UnRegisterView(dxNavBarXP1View);
  dxNavBarViewsFactory.UnRegisterView(dxNavBarXP2View);
  dxNavBarViewsFactory.UnRegisterView(dxNavBarXPExplorerBarView);
Wenn Finalization der 1. Unit zuerst ausgeführt wird, wird FNavBarViewsFactory: TdxNavBarViewsFactory zerstört und wieder erzeugt. Damit habe ich mein Memory Leak.
Ich begreife nur nicht, wie es in meinem Projekt funktioniert.
Mache ich neue Projekte und verwende die TdxNavBar, ist die Reihenfolge immer in Ordnung.
Na ja, hab scho an den Clientservice von DevExpress geschrieben. Bis jetzt war der Support immer kompetent.

Cu, Frank
Frank Reim
  Mit Zitat antworten Zitat