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

Langage Delphi Discussion :

Creer un evenement dans une Dll


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Mai 2006
    Messages : 29
    Points : 24
    Points
    24
    Par défaut Creer un evenement dans une Dll
    Salut à tous,

    J'ai un petit problème concernant le récuperation d'un evenement dans une Dll.

    J'ai créé une Dll utilisant l'unité Comport afin de récuperer un code barre en utilisant une douchette via le port série.

    Tout fonctionne bien que ce soit la Dll ou l'application hote.

    Le seul probleme, je ne vois pas comment je peux intercepter l'evenement onpacket du Tcomdatapacket et transmettre la chaine récupérée à l'application.

    Merci d'avance

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    685
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 685
    Points : 1 608
    Points
    1 608
    Par défaut
    Je pense qu'il faut passer l'adresse de la fonction à appeller à la DLL, qui fera un "callback" quand nécessaire :

    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
    type
      TMyCallback = procedure (ADataRead: PAnsiChar); stdcall;
     
    //Côté application
     
    ...
    SetReadDataCallback(@ReadDataCallback);
     
    procedure ReadDataCallback(ADataRead: PAnsiChar); stdcall;
    begin
      //faire quelque chose...
    end;
     
    //Côté DLL
     
    GCallback: TMyCallback = nil;
     
    procedure SetReadDataCallback(ACallback: TMyCallback);
    begin
      GCallback := ACallback;
    end;
     
    procedure OnDataRead(...)
    begin
      //ici on est dans le gestionnaire d'évènement...
      //si assigné, on appelle le callback
      if Assigned(GCallback) then
        GCallback(PAnsiChar(TheData));
    end;
    "It's more fun to compute !"

Discussions similaires

  1. Evenement dans une dll
    Par gerardt dans le forum VB.NET
    Réponses: 2
    Dernier message: 22/09/2010, 11h29
  2. Creer un composant non visuel(Timer) dans une DLL
    Par hugobob dans le forum Composants VCL
    Réponses: 1
    Dernier message: 06/06/2006, 16h20
  3. Comment creer une application dans une dll
    Par Aiekick dans le forum MFC
    Réponses: 2
    Dernier message: 05/03/2006, 14h05
  4. PB avec "self" dans une dll
    Par DiJiRiDouS dans le forum Langage
    Réponses: 2
    Dernier message: 21/02/2003, 09h32
  5. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/09/2002, 10h15

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