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

C++Builder Discussion :

PortCom comment utiliser le composant dynamiquement


Sujet :

C++Builder

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par d�faut PortCom comment utiliser le composant dynamiquement
    bonjour je doit communiquer avec une carte,
    le probleme est que je doit lui envoy� un "w" et cette derniere me repond une trame sous la forme XXXXXXXXXX,XXXXXXXXXX

    voila j' arrive a emettre mais pas a recevoir, ou puis-je trouver une classe port serie qui peut emettre et recevoir de suite.

    merci

  2. #2
    Membre �clair� Avatar de kurul1
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    934
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 934
    Par d�faut
    Tu utilises quoi pour communiquer par le port Com ?

    Le composant TComPort devrait r�soudre tes probl�mes, Va voir ici

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    20
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 20
    Par d�faut
    voila j' ai essay� avec Tcomport

    j' arrive a envoyer:

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
     void __fastcall TForm1::Button1Click(TObject *Sender)
    {
            ComPort1->Connected=true;
            AnsiString Phrase;
            Phrase = Edit1->Text;
            ComPort1->WriteStr(Phrase);
    }
    lorsque l'on clique sur le bouton il envoi le contenu de l' Edit1.



    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     void __fastcall TForm1::ComPort1RxChar(TObject *Sender, int Count)
    {
            AnsiString Str;
            ComPort1->ReadStr(Str, Count);
            Edit2->Text=Edit2->Text + Str;        
    }
    mais la rien ne se passe, faut il activer la methode?

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par d�faut
    desol� je n' ai pas repondu avec mon pseudo car je suis chez une amies

    je tien a preciser que evRxChar est bien a true

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par d�faut
    probleme resolu, c' �tait du au flow de control.

    Maintenant est-il possible de creer le composant sans creer de fiche?

    car je doit avoir une classe port serie, une mt2s, une telescope et une raquette.

  6. #6
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Salut,
    Il est possible de cr�er n'importe quel composant sans cr�er de fiche, tu as un exemple de cr�ation dynamique avec actions dans la rubrique Trucs et astuces.

    Sinon j'ai d�velopp� une class pour le PortCom disponible en partie sur ce post.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par d�faut
    le code que tu a fait creer un comport ou utilise celui de builder?

  8. #8
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Ni l'un ni l'autre
    En fait il utilise les API Windows comme le Comport. Cela reviens quasiment au m�me que si j'avais cr�� un ComPort.

    Si tu veux en cr�er un, il te faut le Faire dynamiquement, comme l'exemple du bouton dans les trucs et astuces. Quelque chose comme:
    dans le .h
    et dans le cpp:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    COM = new TComPort(this);
    ...
    Je n'ai pas le composant d'install� donc il se peut que la synthaxe ne soit pas correct.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    8
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 8
    Par d�faut
    le composant est ajout�,
    je voudrai avoir une classe Portcom.cpp
    et une classe mt2s.cpp qui derive de la classe Portcom.cpp

    j'ai mi dans le Portcom.h en public

    TComPort *COM;


    et dans le Portcom.cpp:

    COM = new TComPort(this);

    mais j' ai des erreurs, me suis-je tromp� quelque part?

  10. #10
    Expert confirm�

    Avatar de pottiez
    Homme Profil pro
    D�veloppeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : D�veloppeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par d�faut
    Peut tu nous dire quel sont les messages d'erreur, ca nous aiderais


  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    103
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 103
    Par d�faut Faute dans l'�x�cution
    Bonjour, je retrouve la m�me erreur au moment de la cr�ation de mon composant ComTerminal:



    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
     
    #pragma hdrstop
     
    #include "Unit1.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma link "CPort"
    #pragma link "CPortCtl"
    #pragma resource "*.dfm"
    TForm1 *Form1;
    //---------------------------------------------------------------------------
    __fastcall TForm1::TForm1(TComponent* Owner)
            : TForm(Owner)
    {
    TComPort *ComPort1;
    ComPort1 = new TComPort(this);
     
    TComTerminal *ComTerminal1 = new TComTerminal(this);
    ComTerminal1->Parent = Form1;
    ComTerminal1->Connected=false;
    ComTerminal1->ComPort=ComPort1;
    ComTerminal1->Name="Comterminal";
     
    }
    //---------------------------------------------------------------------------
    Et voici le message d'erreur

    Project Project1.exe raised exception class EAccessViolation with message 'Access violation at adress 40003005 in module 'VCL50.BPL'. Read of address 0000003C, Process stopped

    j'utilise la lib cport2.64 et elle fonctionne parfaitement a la conception de fiche.

    Quelqu'un a une id�e?

  12. #12
    Membre �m�rite
    Avatar de bandit boy
    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    916
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 916
    Par d�faut
    Est ce que tu as ce message d'erreur quand tu passes directement par l'exe, et non par Builder?

    Si c'est le cas, le probl�me vient du fait que tu n'as pas compil� avec les librairies int�gr�es.

  13. #13
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    103
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 103
    Par d�faut
    Effectivement j'ai aussi ce message d'erreur pour exe, j'ai ressay� en d�cochant les cases "Use dynamic RTL" et "Build with runtime Packages".

    Je retrouve a nouveau une erreur de Violation Acces mais a une adresse diff�rente.

  14. #14
    Membre confirm�
    Profil pro
    �tudiant
    Inscrit en
    Juin 2006
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 122
    Par d�faut
    as tu bien configurer ton num�ro de port avant d'ouvrir la connexion?

  15. #15
    Membre confirm�
    Profil pro
    Inscrit en
    Ao�t 2007
    Messages
    103
    D�tails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Ao�t 2007
    Messages : 103
    Par d�faut
    Je n'ouvre pas encore de communication, j'initialise le connected � false. Il Fait la fautes � cr�ation du composant.

Discussions similaires

  1. R�ponses: 0
    Dernier message: 10/02/2008, 16h28
  2. comment utiliser le composant TAgent
    Par karimro dans le forum C++Builder
    R�ponses: 2
    Dernier message: 24/11/2007, 13h16
  3. Comment utiliser le composant XPManifest ?
    Par 21247692 dans le forum Composants VCL
    R�ponses: 1
    Dernier message: 09/11/2007, 10h19
  4. Comment utiliser le composant TUDPSocket ?
    Par zodd dans le forum Web & r�seau
    R�ponses: 11
    Dernier message: 16/11/2005, 12h09
  5. Comment utiliser un composant sans son nom ?
    Par aliwassem dans le forum Langage
    R�ponses: 4
    Dernier message: 03/10/2005, 20h47

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