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 :

Problème de base avec un Tstrings


Sujet :

Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut Problème de base avec un Tstrings
    bonjour,

    J'ai fait un petit programme trés basique utilisant un Tstrings:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.Button1Click(Sender: TObject);
    var
    st:Tstrings;
    begin
    st:=Tstrings.create();
    st.Add('rd');
    end;
    Delphi me jete à la ligne "st.Add('rd');" avec l'erreur suivante:
    Le projet1.exe a provoqué une classe d’exception EAbstractError avec le message ‘Erreur abstraite. …
    Quelqu'un voit il ce qu'il cloche ?

  2. #2
    Expert confirmé
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Par défaut
    Salut

    La classe TStrings est une classe abstraite, donc il ne faut pas instancier cette classe mais sa classe enfant TStringList.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    procedure TForm1.Button1Click(Sender: TObject);
    var
      st: TStringList;
    begin
      st := TStringList.Create;
      try
        st.Add('rd');
        // ...
      finally
        st.Free;
      end;
    end;
    @+ Claudius

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut
    Enfaite ce que je veux faire c'est avoir une fonction qui me retourne un Tstrings pour l'affecter à une ListBox.item qui est de type Tstrings.

    Si je comprend bien il faut que je déclare st comme TStringList et qu'aprés je fasse:
    ListBox1.item:=st;
    C'est quoi une classe abstraite?

  4. #4
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    C'est quoi une classe abstraite?
    Une classe abstraite ne peut pas donner naissance à des objets.
    Elle n'a comme rôle que de factoriser des méthodes communes aux sous-classes.
    ça permet d'offrir une certaine liberté dans le polymorphisme (voir POO)
    L’idée est de fournir un cadre général et de laisser le développeur réaliser les classes concrètes s’il le souhaite...

  5. #5
    Membre Expert
    Avatar de Archimède
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2005
    Messages
    1 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 644
    Par défaut
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    listbox.items.add(s:string)

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    211
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2007
    Messages : 211
    Par défaut
    Merci Cl@udius,

    Ca marche nickel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    procedure TForm1.Button1Click(Sender: TObject);
    var
    st: TStringList;
    begin
    st := TStringList.Create;
    st.Add('rd');
    Listbox1.Items:=st;
    end;
    Et merci Archimède pour ton explication sur les class abstraite

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

Discussions similaires

  1. [MySQL] Problème de base avec l'encodage UTF-8
    Par TedLun dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/10/2014, 13h56
  2. Problème de base avec Delphi
    Par Chaumel dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/04/2006, 08h58
  3. Ouverture d'une base avec SHIFT !!! Problème
    Par snoopy69 dans le forum Access
    Réponses: 1
    Dernier message: 05/10/2005, 15h40
  4. Réponses: 6
    Dernier message: 20/09/2005, 22h28
  5. problème de connexion avec une base firebird
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 30/05/2005, 11h40

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