Procédue en delphi

Signaler
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008
-
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
-
Bonjour


je suis débutante en delphi,

et j'ai décalrer une procédure protected:
procedure CodeRecu(Sender: TObject; returnPacket : string);
mais j'ai une erreur:
 Déclaration forward ou external non satisfaite : 'TGestCAB.CodeRecu'

si quelq'un peut me dire comment courriger cette ereur?


merci

9 réponses

Messages postés
251
Date d'inscription
dimanche 7 décembre 2003
Statut
Membre
Dernière intervention
11 novembre 2016

Bonjour

une fois déclaré il faut l'écrire dans la partie IMPLEMENTATION de votre code

CDT
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008

Bonjour


OK!

donc qu'on déclare un prototype de fonction ou de procédure il faut
faire l'impléméntation ( le code de procédure ou de fonction)

si non il génère une erreur?

c'est ça?


Merci encore
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
si tu ne veux pas l'implementer dans cette classe (je suppose qu'elle est heritée etanty donnée la partie protected), il faut que tu la declare virtual abstract :
procedure CodeRecu(Sender: TObject; returnPacket : string); virtual; abstract;
et en override dans les classes heritées
procedure CodeRecu(Sender: TObject; returnPacket : string); override;
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
Bonjour,

En passant, un p'tit «truc» de fainéant bien pratique :

- Tu déclares tes méthodes dans la déclaration de classe
- Tu places le curseur de la souris à l'intérieur de cette déclaration
- Tu tapes le racourcis clavier « Ctrl + Shift + C »

Et hop ! Miracle !  Delphi génère le squelette de toutes les méthodes ! 
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
dommage qu'il ne genere pas les muscles et l'enveloppe charnelle des methodes
Messages postés
2527
Date d'inscription
jeudi 15 janvier 2004
Statut
Membre
Dernière intervention
16 octobre 2019
16
... Et pourquoi pas l'âme de ton application, pendant que tu y es ? 
Messages postés
991
Date d'inscription
samedi 25 octobre 2003
Statut
Membre
Dernière intervention
29 août 2013
7
nan, je met pas d'ame dedans, sinon mes applications finissent par controler totalement l'utilisateur et j'ai peur aux derives (rebelion des logiciels, prise du pouvoir par les machines, ...)
Messages postés
3825
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 février 2021
38
@ Caribensila:

Ctrl + Shift + C ne fonctionne pas sur les versions personnelles de Delphi
tout comme Ctrl + clique sur Variable ou procedure ou Maj + Clique sur Procedure etc etc.

Dans Turbo Delphi ces limitations n'existent plus

 
@+
Cirec

<hr siz="" />
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Soit :
protected:
procedure CodeRecu(Sender: TObject; returnPacket : string);

Alors, dans la partie implémentation, il faut implémenter de la manière suivante, en n'oubliant pas de préciser à quelle classe cette méthode s'applique (ben oui, on peut déclare plusieurs classes dans une même unité) :

procedure TGestCab.CodeRecu(Sender: TObject; retrunPacket: sring);
begin
  //.....
end;

C'est juste ce qu'indique le compilateur...

May Delphi be with you !
<hr color="#008000" />
Pensez à cliquer sur Réponse acceptée lorsque la réponse vous convient.