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

Windows Forms Discussion :

[VB.NET][dataset] libérer de la mémoire


Sujet :

Windows Forms

  1. #1
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut [VB.NET][dataset] libérer de la mémoire
    j'ai crée un dataset et je l'utilise comme source de données dans un report( crystal report). à quel moment je dois libérer? moi j'ai fais comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
     
    Dim ds As New DataSet
     
                    ds.ReadXml(strXml2)
     
                    Dim cr As New report
                    cr.SetDataSource(ds)
                    reportview.ReportSource = cr
                    reportview.Refresh()
     
                    ds.Dispose()
                    ds.Clear()
    est ce que c'est bon ou non?
    merci
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Le DataSet est géré par le GC, tant qu'il reste une référence à cet objet il ne sera pas détruit, même si tu fais ds.Dispose() ou ds=0.
    En fait, ça dépend si Report copie les données ou garde une référence sur ds.
    A mon avis, tu peux faire confiance au GC pour libérer les objets
    On ne peut pas faire boire un âne qui n'a pas soif.

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Citation Envoyé par NicolasG
    A mon avis, tu peux faire confiance au GC pour libérer les objets
    oui mais non. quand on peut, on doit disposer les objets au plus vite, surtout si les objets prennent bcp de memoire. et quand t'as un projet d'entrperise sur des machines "llimitées" (256 ou 512), vaut mieux optimiser.


    sinon pour jauB, moi je ferai le Clear avant le Dispose. car si l'objet est disposé en tre les deux (on sait jms), ca risque de te peter à la face
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

  4. #4
    Rédacteur
    Avatar de Thomas Lebrun
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    9 161
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 9 161
    Points : 19 434
    Points
    19 434
    Par défaut
    +1 avec pharaonix

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Points : 621
    Points
    621
    Par défaut
    Ce que je voulais dire, c'est qu'une fois qu'on a fait Dispose(), il n'y a rien à faire de plus.
    Ca ne garanti pas que l'objet est détruit mais la destruction c'est le travail du GC.
    On ne peut pas faire boire un âne qui n'a pas soif.

  6. #6
    Rédacteur
    Avatar de JauB
    Homme Profil pro
    Freelancer
    Inscrit en
    Octobre 2005
    Messages
    1 792
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Maroc

    Informations professionnelles :
    Activité : Freelancer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 792
    Points : 2 914
    Points
    2 914
    Par défaut
    merci pr vous réponse.
    mais j'espere que mon report va m'apporter toutes les données même en libérant la dataset arpès!
    Mes articles, Mon Blog

    Rubrique Jasper/iReport :
    ------- Forum Jasper --------
    ----- FAQ Jasper/iReport -----


  7. #7
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Points : 28 252
    Points
    28 252
    Par défaut
    Citation Envoyé par NicolasG
    Ce que je voulais dire, c'est qu'une fois qu'on a fait Dispose(), il n'y a rien à faire de plus.
    Ca ne garanti pas que l'objet est détruit mais la destruction c'est le travail du GC.
    je n'ai pas dit non plus que tu avais faux. on est pas obligé de tout disposer. d'ailleurs, pour des ptites applis, je ne me prends pas la tete XD

    maintenant, si on veut une appli un peu plus optimisée, on doit disposer les elements ou mieux, utiliser la clause using, mais celle ne peut etre utiliser partout non plus.
    moi c'est Louis-Guillaume, ni Louis, ni Guillaume mais Louis-Guillaume et je n'aide pas ceux qui écorchent mon nom

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

Discussions similaires

  1. Problème libérer de la mémoire DataSet DataTableAdapter
    Par rikidude dans le forum Windows Forms
    Réponses: 4
    Dernier message: 29/01/2010, 17h00
  2. [VB.NET][dataset] ajouter une blank line
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/05/2005, 13h54
  3. [VB.NET] [DataSet] Acceder a l'index d'une row
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/04/2005, 13h28
  4. [VB.NET] DataSet - DataGrid - Cacher Colonne
    Par Seb.M dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/03/2005, 12h37
  5. [VB.NET] DataSet qui ne retourne pas de résultat
    Par Lois dans le forum Windows Forms
    Réponses: 4
    Dernier message: 02/06/2004, 17h07

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