Delphi et finalisation dans une unité de

J'ai deux unités de l'unitA et unitB.
Classe TFoo est déclaré dans unitB.

Est-il toujours possible d'appeler B. Libre dans la finalisation de l'unitA?

Comment cela dépend-il de l'ordre dans lequel l'unitA et unitB sont dans le dpr?

Puis-je être sûr que unitB existe lors de la finalisation de l'unitA est exécuté?

unit unitB;
interface
type
 TFoo = class
   // code...
  end;
 // code....
end;

unit unitA;
// code..
implementation
uses
 unitB;
var
 A: TStringList;
 B: UnitB.TFoo;

initialization
 A:= TStringList.Create;
 B:= UnitB.TFoo.Create;
finalization
 A.Free;
 B.Free;  // Is it safe to call?
end.

OriginalL'auteur pKarelian | 2010-02-20