Utiliser l'évènement d'un objet dans un autre objet [Résolu]

Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008
- - Dernière réponse : cs_dunith
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008
- 1 avril 2008 à 16:36
bonjour

  alors j'ai creé un objet TGestCAB qui gère la lecture de code barre, et cela on déclarant un évènement:
TOnCodeRecuEvent = procedure (Sender : TObject; NumLecteur : integer; sCAB : string) of object;
avec
 FOnCodeRecu : TOnCodeRecuEvent;
property OnCodeRecu : TOnCodeRecuEvent read FOnCodeRecu Write FOnCodeRecu;
et la procédure
procedure CodeRecu(Sender: TObject; returnPacket : string);

//: Procedure appelée lorsque un code est reçu sur le port série
procedure TGestCAB.CodeRecu(Sender: TObject; returnPacket : string);
 var
  CodeBar : String;
  numLecteur : integer;
begin
    if LeftStr(returnPacket, 2)='/*' then // message avertissement, on ignore
      exit;
    // on récupère le n° de lecteur (les 4 premiers chars)
    numLecteur := StrToInt(LeftStr(returnPacket,4));
    // on récupère le code
    CodeBar := MidStr(returnPacket, 5, Length(returnPacket)-4);
    DoCodeRecu(numLecteur, CodeBar);
end;
et dans mon objet TGestProcess

dans type j'ai déclaré:
TtrameRecue = class (TGestCAB)

TGestProcess = class (TObject)
et dans private j'ai déclaré:
MaTrameRecue : TtrameRecue;

et dans protected j'ai déclaré:
procedure TrameRecue(Sender : TObject; NumLecteur : integer; sCAB : string);

et dans implémentation-> dans constructor TGestProcess.CreateInstance j'ai déclaré:
begin

  inherited Create;

  MaTrameRecue.OnCodeRecu : = TrameRecue;

mais j'ai des erreurs?


quelq'un peut si c'est comme ça qu'on utilise l'évènement de mon objet TGestCAB , dans mon objet TGestProcess?


 ( désolée, je suis débutante en delphi)

Merci
Afficher la suite 

1 réponse

Meilleure réponse
Messages postés
100
Date d'inscription
samedi 5 janvier 2008
Statut
Membre
Dernière intervention
11 avril 2008
3
Merci
hello


c'est encore moi,

en faite c'était facile;

vu que mon TGestCAB a une classe fonction Instance:


alors il fallait que j'appelledans (TGestProcess) mon évènement OnCodeRecu, procédure déclarée dans TGesCAB, comme suit:

TGestCAB.Instance.OnCodeRecu := OnMaTrameRecue;


et le tour est joué


Merci

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cs_dunith