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 :

POO Trap lors de l'appel d'une méthode


Sujet :

Delphi

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut POO Trap lors de l'appel d'une méthode
    Bonjour,

    J'ai une questio sur POO (programation Orienté Objet)

    J'ai donc créer deux class simples (pas de chichi).

    initialement je ne créait pas d'instance ce ces class; type d'appel procedural.

    J'ai voulu essayer des appel POO.

    J'ai donc créer Une instance de la class 1 qui appel une class 2

    EN résume voila le code :

    Unit FORM1

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      MON_MENU:= TMENU_UTIL.Create(self);
    end;
     
    procedure TForm1.Button1Click(Sender: TObject);
    begin
         MON_MENU.MY_CREATE_TPOPUPMENU_FROM_INI('Carnet_BULLETIN',nil);
    end;
    Unit UMENU_UTIL

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    Constructor TMENU_UTIL.Create(AOwner: TComponent);
    begin
      Inherited;
      MY_CREATEINI := TCREATEINI.Create;
      MY_READINI := TREADINI.Create;
    end;   
    
    
    procedure TMENU_UTIL.MY_CREATE_TPOPUPMENU_FROM_INI({VAR MY_MENU:TPopupMenu;}
                                              MENU_CONFIG:String;
                                              MY_EVENT:TnotifyEvent);
    
    var
    F:TextFile;
    Ligne   : string;
    i:integer;
    Cod:integer;
    NBRE_LIGNE:integer;
    VALEUR:String;
    NAME_BTN:String;
    SRC_IMAGE_BTN:String;
    begin
    BOOM  ERREUR SUR l'INSTRUCTION CI_DESSOUS        
            MY_CREATEINI.CREATE_INI(MY_READINI.READ_INI(MENU_CONFIG,
                                                       PTR_WORK.REPERTOIRE_INI+'\MENU.INI',
                                                       '[FIN]'),
                                    PTR_WORK.REPERTOIRE_TEMP+'\'+MENU_CONFIG+'.INI');
    
            I:= 1;
    
            if MY_READINI.MY_OPEN_FILE(F,PTR_WORK.REPERTOIRE_TEMP+'\'+MENU_CONFIG+'.INI') = 0 then
            begin
                repeat
                    VALEUR:=TRIM(MY_READINI.MY_READLN(CRYPT,F));
                    MY_CREATE_TPOPUPMENU(VALEUR,MY_EVENT,-1,false,I);
                    I:= I+1;
                Until EOF(F);
                MY_READINI.MY_CLOSE_FILE(F);
            end;
    end;
    Là j'ai un trap et je ne me l'explique pas, Soyez indulgent je début en POO, j'ai d"ja créer des objets et utilisé la notions d'héritage notement avec des objets query (ib,bde etc) mais là je plante et je ne comprends pas pourquoi.

    Peut être que vos explication me permettrons d'améliorer mes dev existant

    Cordialement
    QAYS

  2. #2
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    je ne vois rien de spécial dans ton code...mais c'est quoi PTR_WORK ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Il s'agit aussi d'une class qui est aussi crééer dans le create form, j'ai simplement oublié de le signaler dans mon exemple,

    Mais je pense que vous venez de me metre sur la piste du bug, en fait il semblerait que ptr_work est a nil, je vérifier pourquoi

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Août 2004
    Messages
    696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 696
    Points : 225
    Points
    225
    Par défaut
    Merci, le problème venait simplement de ptr_work, qui n'étais pas bient initialisé, merci bcp

    Cordialement

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

Discussions similaires

  1. problème lors de l'appel d'une méthode
    Par sfaxian dans le forum VB.NET
    Réponses: 9
    Dernier message: 10/07/2009, 14h39
  2. Erreur lors de l'appel d'une méthode Zend Helper
    Par donbrico dans le forum Zend Framework
    Réponses: 4
    Dernier message: 16/04/2008, 15h52
  3. Réponses: 5
    Dernier message: 05/09/2007, 16h23
  4. [forward] Erreur lors de l'appel d'une méthode
    Par GLDavid dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 03/07/2007, 17h10
  5. [POO] Problème lors de l'appel d'une propriété d'un objet.
    Par akecoocoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 08h51

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