Einzelnen Beitrag anzeigen

Thom

Registriert seit: 19. Mai 2006
570 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Package - Unit.Initialization - Reihenfolge

  Alt 10. Mär 2011, 12:30
Solche heiklen Probleme löse ich in der Regel auf folgende Art:
Delphi-Quellcode:
interface

function MeineListe: TMeineListe;

implementation

var
  FMeineListe: TMeineListe = nil;

function MeineListe: TMeineListe;
begin
  if not assigned(FMeineListe)
    then FMeineListe:=TMeineListe.Create;
  Result:=FMeineListe;
end;

finalization
  FreeAndNil(FMeineListe);

end.
Das heißt, die Liste wird dann erstellt, wenn sie das erste Mal gebraucht wird, und nicht, wenn das Delphi für richtig hält.
Da der Zeitpunkt des Aufräumens meist weniger kritisch ist, kann das im finalization-Abschnitt erfolgen.

Das ist wahrscheinlich das, was BUG beschrieben hat.
Thomas Nitzschke
Google Maps mit Delphi

Geändert von Thom (10. Mär 2011 um 12:33 Uhr)
  Mit Zitat antworten Zitat