Bonjour,

le titre n'est pas très explicite désolé.

Bon j'ai dans mon appli une form child Flisting que j'appele à partir d'une autre child. Jusque là c'est bon. Le problème que je rencontre c'est que je veux tester si FListing existe alors je la fermer.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
if FListing <> nil then FListing.close
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
procedure TFListing.close(sender : TObject);
begin
action := caFree;
end;
quand je l'ouvre une première fois ca marche FListing = nil, par contre si je l'ouvre une deuxième fois, alors que j'ai fermer FLisiting :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Violation d'accès à l'adresse 000000 ....
Du coup, j'ai essayer avec Free, FreeInstance ....

en exécutant de pas à pas lors de la deuxième ouverture je mets le curseur sur FListing lors du if et il me marque toutes les options notament ActionList = nil mais pas simplement FListing = nil comme lors de la première ouverture. Donc je ne comprends pas, pour lui FListing existe sans exister ... Ca voudrais dire que ca mémoire est toujours allouée ???

merci.