Procédue en delphi

cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008 - 31 mars 2008 à 11:12
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 - 6 avril 2008 à 10:13
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

fbalien Messages postés 251 Date d'inscription dimanche 7 décembre 2003 Statut Membre Dernière intervention 11 novembre 2016
31 mars 2008 à 11:51
Bonjour

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

CDT
0
cs_dunith Messages postés 100 Date d'inscription samedi 5 janvier 2008 Statut Membre Dernière intervention 11 avril 2008
31 mars 2008 à 12:05
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
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
31 mars 2008 à 12:22
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;
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
31 mars 2008 à 14:26
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 ! 
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
31 mars 2008 à 14:31
dommage qu'il ne genere pas les muscles et l'enveloppe charnelle des methodes
0
Caribensila Messages postés 2527 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 16 octobre 2019 18
31 mars 2008 à 14:41
... Et pourquoi pas l'âme de ton application, pendant que tu y es ? 
0
Guillemouze Messages postés 991 Date d'inscription samedi 25 octobre 2003 Statut Membre Dernière intervention 29 août 2013 6
31 mars 2008 à 14:55
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, ...)
0
Cirec Messages postés 3833 Date d'inscription vendredi 23 juillet 2004 Statut Modérateur Dernière intervention 18 septembre 2022 50
31 mars 2008 à 16:18
@ 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="" />
0
cs_Delphiprog Messages postés 4297 Date d'inscription samedi 19 janvier 2002 Statut Membre Dernière intervention 9 janvier 2013 32
6 avril 2008 à 10:13
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.
0
Rejoignez-nous