J'ai une classe basée sur TInterfacedObject. Je l'ajoute à la propriété Data de TTreeNode.Pourquoi les descendants de TinterfacedObject ne sont-ils pas collectés?
TFacilityTreeItem=class(TInterfacedObject)
private
m_guidItem:TGUID;
m_SomeOtherNode:TTreeNode;
public
end;
i créer de nombreux cas de cet objet & avait supposé que parce qu'ils sont comptés référence, je ne devrais pas avoir besoin de les libérer. ce serait pratique.
Cependant, lors de la vérification, j'ai activé ReportMemoryLeaksOnShutdown et constaté qu'ils ne sont pas libérés après tout.
Ces objets sont créés dans un cadre placé sur le formulaire principal. dans FormClose du formulaire principal, j'efface les nœuds de l'arbre de sorte que chaque objet doit être libéré.
Qu'est-ce qui se passe?
je vous remercie pour votre aide!
merci de votre réponse; Je vais utiliser TObject à la place. appris quelque chose de nouveau! –