Application.Terminate et libération mémoire / objets

Application.Terminate et libération mémoire / objets - Delphi/Pascal - Programmation

Marsh Posté le 24-09-2003 à 17:06:58    

Je voudrais savoir si lorsque que l'on sort d'une l'appli par un Application.Terminate, il y libèration des objets crées et des zones mémoires allouées (par New) ? que se passe t-il pour les objets de type TFileStream ?
 
En fait j'ai essayé de faire un close de la form dans l'événement FormCreate pour sortir, mais j'avais une erreur à l'execution donc j'ai mis un Application.Terminate à la place mais je ne suis pas sûr que ce soit la bonne solution  :( .

Reply

Marsh Posté le 24-09-2003 à 17:06:58   

Reply

Marsh Posté le 24-09-2003 à 17:18:15    

ça revient à peu près au même; et dans aucun des deux cas les objets que tu as créé ne sont libérés.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Marsh Posté le 24-09-2003 à 18:47:51    

En fait, je fait la libération des objets dans le FormDestroy mais il n'est pas appelé dans le cas d'un Application.Terminate, et il n'a pas d'évenement équivalent pour TApplication  :(  
 
Est ce qu'il y a un moyen d'intercepter un Application.Terminate pour effectuer le nettoyage ou alors une autre méthode pour sortir de l'appli ? (apparement le Close d'une form dans le FormCreate ça pose des problème).
 
Sinon est ce code est un bonne solution ?

 Application.Initialize;
  Application.Title := '';
  if not EnoughParameter then
    Application.CreateForm(TMainForm, MainForm);
    Application.CreateForm(TABoutForm, ABoutForm);
    Application.Run
  else
    RunExternalAppli;


 
C'est pour un front end qui lance une autre appli, s'il a les parametres necéssaire dans la ligne de commance, il lance cette appli et sort sans passer par l'interface graphique et sinon affiche l'interface pour rentrer ces paramètres.

Reply

Marsh Posté le 24-09-2003 à 19:54:59    

je pige pas pourquoi tu dois faire un Close dans le OnCreate :??:
 
Puis dans le code du Close on trouve :
 
        if Application.MainForm = Self then Application.Terminate
[:kiki]


Message édité par antp le 24-09-2003 à 19:57:15

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed