IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Composants VCL Delphi Discussion :

Libération de la mémoire


Sujet :

Composants VCL Delphi

  1. #1
    Membre actif Avatar de gibet_b
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 292
    Points : 296
    Points
    296
    Par défaut Libération de la mémoire
    Bonjour,

    J'utilise l'astuce qui permet d'afficher une form dans un TPanel ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MaForm:=TMaForm.Create(Application);
    MaForm.ParentWindow:=Panel.Handle;
    MaForm.Show;
    J'aimerai que quand j'affiche une autre form à sa place, pouvoir libérer la mémoire qu'elle utilisait... J'ai fait une recherche ici et sur ngscan et j'ai trouvé plusieurs choses, j'ai essayé :
    - MaForm.Free
    - MaForm.Release
    - MaForm.FreeInstance
    - MaForm.Destroy
    - Ma Form.Close (tout en indiquant dans le OnClose que Active:=acFree)

    Pourtant lorsque je regarde le gestionnaire de tache tout en utilisant mon application je m'apercois qu'il ne libère pas la mémoire...

    Une idée, une explication ?
    Jean-Baptiste, vieux membre éclairé à la bougie
    -----
    www.e-jbb.net : Écriture et lecture numérique
    ---
    Citation du moment : "On abdique pas l'honneur d'être une cible" - Cyrano De Bergerac

  2. #2
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut Re: Libération de la mémoire
    Citation Envoyé par gibet_b
    Pourtant lorsque je regarde le gestionnaire de tache tout en utilisant mon application je m'apercois qu'il ne libère pas la mémoire...
    C'est pas un indicateur fiable : la mémoire peut être rendue dispo par l'appli, mais le système ne la lui reprend effectivement que s'il en a besoin pour quelqu'un d'autre. Enfin, il me semble.

    Pour pister les fuites mémoires : Memcheck (disponible sur DelphiSuperPage, si j'ai bonne mémoire)
    La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
    Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance

  3. #3
    Membre actif Avatar de gibet_b
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 292
    Points : 296
    Points
    296
    Par défaut
    Ok... Mais quelle est la meilleure façon de libérer la mémoire ? Release j'ai cru lire dans un post ?
    Jean-Baptiste, vieux membre éclairé à la bougie
    -----
    www.e-jbb.net : Écriture et lecture numérique
    ---
    Citation du moment : "On abdique pas l'honneur d'être une cible" - Cyrano De Bergerac

  4. #4
    Membre habitué Avatar de gord's
    Inscrit en
    Avril 2003
    Messages
    115
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 115
    Points : 127
    Points
    127
    Par défaut
    oui, pour liberer une form de l'exterieur, c'est le mieux : ça poste un message à la form, et ça garantit qu'elle a traité les éventuels messages en attente dans sa file avent de disparaitre.
    (si tu es dans la form, tu peux faire close)
    La prochaine révolution informatique : les machines qui font ce qu'on veut, au lieu de faire ce qu'on leur demande...
    Grand Vizir du Grand Gourou - Trois-quart aile gauche du TRFC et intendant de 3ème mi-temps - Papy fait de la résistance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. LIbération de la mémoire
    Par Premium dans le forum C
    Réponses: 3
    Dernier message: 27/11/2006, 10h33
  2. Libération de la mémoire
    Par Premium dans le forum C
    Réponses: 4
    Dernier message: 09/08/2006, 18h15
  3. [CSV] Libération de la mémoire
    Par cedricgirard dans le forum Langage
    Réponses: 7
    Dernier message: 05/01/2006, 12h02
  4. libération de la mémoire après traitement ?
    Par isachat666 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 07/12/2005, 19h29
  5. [VB]Libération de la mémoire
    Par seroa dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 12/10/2005, 11h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo