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

 Delphi Discussion :

Clear sur un TStringList


Sujet :

Delphi

  1. #1
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut Clear sur un TStringList
    Bonjour a tous,

    Pour les besoin de mon application, j'ai besoin de vider des TStringList pour les mettre à jours. Le problème avec ça :
    c'est que j'ai un retour erreur sur une violation d'accès..

    J'ai donc penser que faire un Clear sur un objet inexistant (absence de Create) était la cause. Lors du premier appel, n'a pas encore été généré..
    Seulement, j'ai essayer avec un Create à l'appel de la fiche, mais même problème... Violation d'accès... :/

    Auriez vous des idées?

    Merci par avance,

    ZenZiTone.


    ETID : Hum comment dire... Désolé, je faisais mal le create :/ J'ai du mal à m'habituer à cette synthaxe

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 452
    Points : 24 863
    Points
    24 863
    Par défaut
    Citation Envoyé par ZenZiTone Voir le message
    ETID : Hum comment dire... Désolé, je faisais mal le create :/ J'ai du mal à m'habituer à cette synthaxe
    Pense que c'est la syntaxe dans bcp de langage POO (d'autres sont bien plus farfelus)

    myvar := class.create(); !
    myvar = new class(); // C++ ou Java !
    $myvar = new class(); !
    myvar = class.new(); !

    Le pire c'est que cela compile et peut que l'on peut faire des choses étranges !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    var
      SL1, SL2: TStringList;
    begin
      SL1 := TStringList.Create();
      SL1.Add('1');
     
      SL2 := SL1.Create();
      SL2.Add('2');
     
      ShowMessage(SL1.Text);
      if SL1 <> SL2 then
        ShowMessage(SL2.Text);
     
      SL1.Free();
      // Surtout pas sur SL2
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    En fait, j'ai toujours tendance à vouloir l'écrire comme cela : ... Pourquoi, je ne sais pas d'autant plus que, et tu le souligne bien, la plupart des langages POO ont une synthaxe ressemblante !

  4. #4
    Membre expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Points : 3 404
    Points
    3 404
    Par défaut
    Petite interrogation : Lorsque l'on fait un Clear, il se vide juste?

  5. #5
    Membre expert
    Avatar de Charly910
    Homme Profil pro
    Ingénieur TP
    Inscrit en
    Décembre 2006
    Messages
    2 344
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur TP
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 344
    Points : 3 122
    Points
    3 122
    Par défaut
    Bonjour,

    selon l'aide de D7 pour TStringList.Clear :

    La méthode Clear vide la liste de chaînes. Toutes les références aux objets associés sont également supprimées. Toutefois, les objets eux-mêmes ne sont pas libérés.
    A+

    Charly

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 08/09/2012, 11h56
  2. Fonction dans une DLL agissant sur un TStringList
    Par Dr.Gang dans le forum C++Builder
    Réponses: 5
    Dernier message: 24/10/2009, 14h17
  3. [Debutant]Point sur TStringList
    Par adurandet dans le forum Débuter
    Réponses: 7
    Dernier message: 29/10/2007, 10h40
  4. Comment faire un clear sur un beufferedImage toutes les x secondes!
    Par jlassiramzy dans le forum EDT/SwingWorker
    Réponses: 10
    Dernier message: 26/07/2006, 13h18
  5. Selectionnet tous ou faire un clear sur une liste
    Par Canou dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/11/2004, 10h26

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