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++ Discussion :

Utiliser bibliothèque pour VC10 sous Gcc


Sujet :

C++

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut Utiliser bibliothèque pour VC10 sous Gcc
    Bonjour,

    J'utilise C::B avec la dernier version disponible de Gcc par Mingw (4.5) pour programmer une carte d'acquisition Analogique -> Numérique de marque Advantech sous winXP.
    Actuellement j'utilise la bibliothèque fournit par défaut et aucun problème ça marche.
    Mais en voulant installer ce logiciel sur Win7 la bibliothèque n'a pas été évoluée et Advantech fournis à la place une nouvelle library qui fonctionne sous XP, Vista et 7.
    Bien que le fonctionnement global de cette nouvelle biblio soit identique, je me retrouve confronter un ce problème :
    Elle a été faite pour VC10 et une fois la transposition de mon logiciel réaliser je ne peut pas compiler suite à ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    errorCode = ai->Property.Set( CFG_ScanChannelStart,startChannel );
    la variable ai est de type BDaqAi ( entête si dessous )

    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
    class BDaqAi : public BDaqModule
    {
    public:
     
       // instant AI single channel methods
       ErrorCode Read(long channel, double& dataScaled);
       ErrorCode Read(long channel, short& dataRaw);   // for the device whose raw data is in 16bits format
       ErrorCode Read(long channel, long& dataRaw);    // for the device whose raw data is in 32bits format
     
       // instant AI multi channel methods
       ErrorCode Read(long chStart, long chCount, double dataScaled[]);
       ErrorCode Read(long chStart, long chCount, short dataRaw[], double dataScaled[]);   // for the device whose raw data is in 16bits format
       ErrorCode Read(long chStart, long chCount, long dataRaw[], double dataScaled[]) ;   // for the device whose raw data is in 32bits format
     
       // buffered AI methods
       ErrorCode BfdAiPrepare(long dataCount, void* * dataRaw);
       ErrorCode BfdAiRunOnce(bool asynchronous);
       ErrorCode BfdAiRun();
       ErrorCode BfdAiScaleData(void* dataRaw, double dataScaled[], long dataCount, long* chOffset);
       ErrorCode BfdAiStop();
       ErrorCode BfdAiRelease();
    protected:
       friend class BDaqDevice;
       // internal used only
       BDaqAi(HANDLE aiHandle) : BDaqModule(aiHandle)
       {   }
       virtual ~BDaqAi()
       {   }
    };
    qui elle même appartient à BDaqModule :
    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    class BDaqModule
    {
    public: // Methods
    #if defined(__BORLANDC__) || defined(_MSC_VER)
       __declspec(property(get = get_Handle)) HANDLE Handle;
    #endif
       HANDLE get_Handle()
       {
          return m_moduleHandle;
       }
     
    #if defined(__BORLANDC__) || defined(_MSC_VER)
       __declspec(property(get = get_Property)) BDaqProperty &Property;
    #endif
       BDaqProperty & get_Property( )
       {
          return m_property;
       }
     
    #if defined(__BORLANDC__) || defined(_MSC_VER)
       __declspec(property(get = get_Event)) BDaqEvent &Event;
    #endif
       BDaqEvent & get_Event()
       {
          return m_event;
       }
     
    protected:
       BDaqModule(HANDLE moduleHandle)
       {
          m_moduleHandle = moduleHandle;
          m_property.SetParent(this);
          m_event.SetParent(this);
       }
       virtual ~BDaqModule()
       {   }
       virtual void Release()
       {
          delete this;
       }
    protected:
       friend class BDaqModuleManager;
       HANDLE       m_moduleHandle;
       BDaqProperty m_property;
       BDaqEvent    m_event;
    };
    Mais voilà les méthodes Property sont définis pour Borland et MSC_VER

    Y-a-t-il une possibilité d'utiliser la méthode property depuis un compilo Gcc ou dois-je migrer ma solution vers VC10 express?

    N'étant pas expert dans toutes ces relations inter compilateur, s'il manque des infos pour la bonne compréhension du problème dite le moi et je compléterai.

    Merci à tous

    Renaud

  2. #2
    screetch
    Invité(e)
    Par défaut
    errorCode = ai->get_Property().Set( CFG_ScanChannelStart,startChannel );.

    Property est juste un raccourci pour get_Property() et il n'y en a pas strictement besoin.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut
    Merci pour ta réponse.
    Donc si je comprends bien

    ai->Handle == ai->get_Handle()
    ai->Event == a->get_Event()
    ai->Property == ai->get_Property()

    A+

    Renaud

  4. #4
    screetch
    Invité(e)
    Par défaut
    voui, c'est ca.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Compilation de programme C pour armv5tejl sous GCC
    Par joprog dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 22/11/2009, 14h46
  2. Bibliothèque pour utiliser MD5
    Par Greg L. dans le forum C
    Réponses: 2
    Dernier message: 11/10/2006, 23h13
  3. Utiliser pour publipostage sous pdf
    Par toppich88 dans le forum BIRT
    Réponses: 3
    Dernier message: 12/06/2006, 17h34
  4. Réponses: 7
    Dernier message: 08/06/2006, 22h51
  5. [C#][OpenGL] Quelle bibliothèque pour utiliser OpenGL en C#
    Par glKabuto dans le forum Windows Forms
    Réponses: 6
    Dernier message: 23/05/2006, 13h56

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