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 :

utilisation Comport dans une DLL


Sujet :

Delphi

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : autre
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut utilisation Comport dans une DLL
    Bonsoir, je programme une DLL pour communiquer entre un Software et un hardware brancher sur un port série. Je voudrais implanter le code de communication série directement dans la DLL.
    j'utilise le composant COMPORT et delphi 7. Etant un débutant dans la programmation, j'ai fais des rechercher sur le forum et internet mais je n'ai rien trouver pour l'utiliser COMPORT dans une DLL.

    Merci de votre aide.

    Nuno.

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    Suffit de l'instancier, je n'ai que le code en C++

    Code c++ : 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
    41
    42
    43
    44
    45
    46
    47
    48
          FComPort = new TComPort(NULL);
     
          TComDataPacket *TmpComDataPacket = new TComDataPacket(FComPort);
          TmpComDataPacket->ComPort = FComPort;
          TmpComDataPacket->StartString = (char)02;
          TmpComDataPacket->StopString = (char)0x0d;
          TmpComDataPacket->IncludeStrings = true;
          TmpComDataPacket->OnPacket = ComDataPacketEventHandler;
     
     
        FComPort->Port = FConf->Port;
     
        if (FConf->Baud == 9600)
        {
          FComPort->BaudRate = br9600;
          FComPort->DataBits = dbSeven;
          FComPort->Parity->Bits = prEven;
          FComPort->StopBits = sbOneStopBit;
        }
        else
        {
          FComPort->BaudRate = br19200;
          FComPort->DataBits = dbEight;
          FComPort->Parity->Bits = prNone;
          FComPort->StopBits = sbOneStopBit;
        }
        FComPort->Open();
     
    }
     
     
    //---------------------------------------------------------------------------
    void __fastcall ...::ComDataPacketEventHandler(System::TObject* Sender, const ComStringParam Str)
    {
      // Code pour déboguer un binaire en hexa
     
      RawByteString RawStr = Str;
      int BufSize = RawStr.Length();
      char* Buffer = new char[BufSize * 2 + 1];
      ZeroMemory(Buffer, BufSize * 2 + 1);
      BinToHex(RawStr.c_str(), Buffer, BufSize);
      String HexaStr = Buffer;
      delete [] Buffer;
     
      OutputDebugString(HexaStr.c_str()); 
     
      ... ici  sufffit de parser RawStr en mode binaire ou texte selon le protocole ...
    }
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    autre
    Inscrit en
    Mars 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Activité : autre
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2014
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonsoir ShaiLeTroll,

    Désoler pour la réponse tardif.
    Merci de ta réponse, je vais essayer de mettre ton code en delphi.

    Bonne soirée.

Discussions similaires

  1. utiliser ADO dans une DLL d'extension
    Par azamharir dans le forum MFC
    Réponses: 2
    Dernier message: 18/12/2007, 16h03
  2. utilisation de classe dans une DLL
    Par _stef_ffff_f34 dans le forum Windows
    Réponses: 1
    Dernier message: 10/02/2006, 16h03
  3. Réponses: 7
    Dernier message: 25/11/2005, 17h11
  4. TForm dans une DLL avec utilisation d'Interface
    Par guedelmalin dans le forum Langage
    Réponses: 13
    Dernier message: 17/06/2005, 11h58
  5. [] Utiliser AVI d'une DLL dans mon programme
    Par seb.49 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 02/05/2003, 14h52

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