erreur sur ce code mais ou est-elle ?

erreur sur ce code mais ou est-elle ? - C++ - Programmation

Marsh Posté le 04-06-2003 à 15:22:28    

J'ai une erreur la dedans mais je la vois pas !!!!!!
 
#ifndef APOLocalisateurH
#define APOLocalisateurH
#include "ILocalisateur.h"
#include "Sysutils.hpp"
 
class APOLocalisateur : public ILocalisateur
{
private:
 //déclaration des fonctions exporté de la dll
 typedef int (__stdcall TF_LocApoGetAbscisse)(double* pAbscisse);
 typedef int (__stdcall TF_LocApoGetVitesse)(double* pVitesse);
 typedef int (__stdcall TF_LocApoGetDelai)(double* pTemps,double abscisse);
 typedef char* (__stdcall TF_LocApoGetDerniereErreur)(void);
 
 TF_LocApoGetAbscisse* _pfLocApoGetAbscisse;
 TF_LocApoGetVitesse* _pfLocApoGetVitesse;
 TF_LocApoGetDelai* _pfLocApoGetDelai;
 TF_LocApoGetDerniereErreur* _pfLocApoGetDerniereErreur;
 
 HINSTANCE hinstDLL;
 
public:
//-------------------   CONTRUCTEUR DESTRUCTEUR    -----------------------------
    APOLocalisateur(char* nomDLL)
    {
        hinstDLL=LoadLibrary("LocSycomC.dll" );
     _pfLocApoGetAbscisse=(TF_LocApoGetAbscisse*)GetProcAddress(hinstDLL, "LocApoGetAbscisse" );
     _pfLocApoGetVitesse=(TF_LocApoGetVitesse*)GetProcAddress(hinstDLL, "LocApoGetVitesse" );
     _pfLocApoGetDelai=(TF_LocApoGetDelai*)GetProcAddress(hinstDLL, "LocApoGetDelai" );
     _pfLocApoGetDerniereErreur=(TF_LocApoGetDerniereErreur*)GetProcAddress(hinstDLL, "LocApoGetDerniereErreur" );
    }
 
    ~APOLocalisateur()
    {
     FreeLibrary(hinstDLL);
    }
 
//------------------------------------------------------------------------------
 double GetAbscisse(void)
    {
     double abscisse;
     if (0 != _pfLocApoGetAbscisse(&abscisse))
         throw Exception(DerniereErreur());
  return abscisse;
 }
//------------------------------------------------------------------------------
 double GetVitesse(void)
    {
     double vitesse;
     if (0 != _pfLocApoGetVitesse(&vitesse))
         throw Exception(DerniereErreur());
  return vitesse;
    }
//------------------------------------------------------------------------------
 double GetDelai(double abcsisseAAtteindre)
    {
        double temps;
     double abscisseAAtteindre;
     if(0!=_pfLocApoGetDelai(&temps,abscisseAAtteindre))
         throw Exception(DerniereErreur());
     return temps;
    }
//------------------------------------------------------------------------------
    char*  DerniereErreur(void)
    {
     return _pfLocApoGetDerniereErreur();
    }
//------------------------------------------------------------------------------
    void SetPoidsImpulsion(unsigned int poids)
    {
    }
}
 
#endif

Reply

Marsh Posté le 04-06-2003 à 15:22:28   

Reply

Marsh Posté le 04-06-2003 à 15:25:27    

Met ton code entre [ cpp ] et [ /cpp ] (sans les espaces) et donne l'erreur que ca te sort ...


---------------
last.fm
Reply

Marsh Posté le 04-06-2003 à 15:26:17    

1) Mets des balises [cpp] [/ cpp] autour de ton code
2) Il se passe quoi?

Reply

Marsh Posté le 04-06-2003 à 15:26:22    

Mais merde a la fin, c'est vraiment si c.h.i.a.n.t que ca que de dire c'est QUOI l'erreur ?
 
parce que figure toi que ton truc on s'en fout completement, si tu fais pas un minimum d'effort pour poster un truc intelligent on va se decarcasser juste pour te faire plaisir

Reply

Marsh Posté le 04-06-2003 à 15:33:04    

ok je savais pas pour l'histoire des [] :-)
je vais etre plus clair...
voici le code ou il me met mon erreur :  
[ cpp ]  
 
#ifndef FenetreTestH
#define FenetreTestH
 
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <ExtCtrls.hpp>
#include "APOLocalisateur.h"
 
//---------------------------------------------------------------------------
class TFTestAPOSycom : public TForm
{
__published: // Composants gérés par l'EDI
 TEdit *EAbscisse;
 TTimer *Timer1;
 TEdit *EVitesse;
 TEdit *EDelai;
 TLabel *LAbscisse;
 TLabel *LVitesse;
 TLabel *LDelai;
 void __fastcall BLireClick(TObject *Sender);
 void __fastcall Timer1Timer(TObject *Sender);
private: // Déclarations de l'utilisateur
 APOLocalisateur *_localisateur;
public:  // Déclarations de l'utilisateur
 __fastcall TFTestAPOSycom(TComponent* Owner);
 __fastcall ~TFTestAPOSycom();
};
//---------------------------------------------------------------------------
extern PACKAGE TFTestAPOSycom *FTestAPOSycom;
//---------------------------------------------------------------------------
#endif
[ /cpp ]  
 
borland me met comme erreur :  
[C++ Erreur] FenetreTest.h(12): E2176 Trop de types dans la déclaration
sur la ligne :  
[ cpp ]  
class TFTestAPOSycom : public TForm
[ /cpp ]  
 
Donc je pense que l'erreur vient du dessus du point APOLocalisateur.h inclut auparavant. Voici le APOLocalisateur.h :
[ cpp ]  
#include "ILocalisateur.h"
#include "Sysutils.hpp"
 
class APOLocalisateur : public ILocalisateur
{
private:
 //déclaration des fonctions exporté de la dll
 typedef int (__stdcall TF_LocApoGetAbscisse)(double* pAbscisse);
 typedef int (__stdcall TF_LocApoGetVitesse)(double* pVitesse);
 typedef int (__stdcall TF_LocApoGetDelai)(double* pTemps,double abscisse);
 typedef char* (__stdcall TF_LocApoGetDerniereErreur)(void);
 
 TF_LocApoGetAbscisse* _pfLocApoGetAbscisse;
 TF_LocApoGetVitesse* _pfLocApoGetVitesse;
 TF_LocApoGetDelai* _pfLocApoGetDelai;
 TF_LocApoGetDerniereErreur* _pfLocApoGetDerniereErreur;
 
 HINSTANCE hinstDLL;
 
public:
//-------------------   CONTRUCTEUR DESTRUCTEUR    -----------------------------
    APOLocalisateur(char* nomDLL)
    {
        hinstDLL=LoadLibrary("LocSycomC.dll" );
     _pfLocApoGetAbscisse=(TF_LocApoGetAbscisse*)GetProcAddress(hinstDLL, "LocApoGetAbscisse" );
     _pfLocApoGetVitesse=(TF_LocApoGetVitesse*)GetProcAddress(hinstDLL, "LocApoGetVitesse" );
     _pfLocApoGetDelai=(TF_LocApoGetDelai*)GetProcAddress(hinstDLL, "LocApoGetDelai" );
     _pfLocApoGetDerniereErreur=(TF_LocApoGetDerniereErreur*)GetProcAddress(hinstDLL, "LocApoGetDerniereErreur" );
    }
 
    ~APOLocalisateur()
    {
     FreeLibrary(hinstDLL);
    }
 
//------------------------------------------------------------------------------
 double GetAbscisse(void)
    {
     double abscisse;
     if (0 != _pfLocApoGetAbscisse(&abscisse))
         throw Exception(DerniereErreur());
  return abscisse;
 }
//------------------------------------------------------------------------------
 double GetVitesse(void)
    {
     double vitesse;
     if (0 != _pfLocApoGetVitesse(&vitesse))
         throw Exception(DerniereErreur());
  return vitesse;
    }
//------------------------------------------------------------------------------
 double GetDelai(double abcsisseAAtteindre)
    {
        double temps;
     double abscisseAAtteindre;
     if(0!=_pfLocApoGetDelai(&temps,abscisseAAtteindre))
         throw Exception(DerniereErreur());
     return temps;
    }
//------------------------------------------------------------------------------
    char*  DerniereErreur(void)
    {
     return _pfLocApoGetDerniereErreur();
    }
//------------------------------------------------------------------------------
    void SetPoidsImpulsion(unsigned int poids)
    {
    }
}
 
#endif
[ /cpp ]  

Reply

Marsh Posté le 04-06-2003 à 15:34:30    

ok je savais pas pour l'histoire des [] :-)
je vais etre plus clair...
voici le code ou il me met mon erreur :  

Code :
  1. #ifndef FenetreTestH
  2. #define FenetreTestH
  3. #include <Classes.hpp>
  4. #include <Controls.hpp>
  5. #include <StdCtrls.hpp>
  6. #include <Forms.hpp>
  7. #include <ExtCtrls.hpp>
  8. #include "APOLocalisateur.h"
  9. //---------------------------------------------------------------------------
  10. class TFTestAPOSycom : public TForm
  11. {
  12. __published: // Composants gérés par l'EDI
  13. TEdit *EAbscisse;
  14. TTimer *Timer1;
  15. TEdit *EVitesse;
  16. TEdit *EDelai;
  17. TLabel *LAbscisse;
  18. TLabel *LVitesse;
  19. TLabel *LDelai;
  20. void __fastcall BLireClick(TObject *Sender);
  21. void __fastcall Timer1Timer(TObject *Sender);
  22. private: // Déclarations de l'utilisateur
  23. APOLocalisateur *_localisateur;
  24. public// Déclarations de l'utilisateur
  25. __fastcall TFTestAPOSycom(TComponent* Owner);
  26. __fastcall ~TFTestAPOSycom();
  27. };
  28. //---------------------------------------------------------------------------
  29. extern PACKAGE TFTestAPOSycom *FTestAPOSycom;
  30. //---------------------------------------------------------------------------
  31. #endif

 
 
borland me met comme erreur :  
[C++ Erreur] FenetreTest.h(12): E2176 Trop de types dans la déclaration
sur la ligne :  

Code :
  1. class TFTestAPOSycom : public TForm

 
 
Donc je pense que l'erreur vient du dessus du point APOLocalisateur.h inclut auparavant. Voici le APOLocalisateur.h :

Code :
  1. #include "ILocalisateur.h"
  2. #include "Sysutils.hpp"
  3. class APOLocalisateur : public ILocalisateur
  4. {
  5. private:
  6. //déclaration des fonctions exporté de la dll
  7. typedef int (__stdcall TF_LocApoGetAbscisse)(double* pAbscisse);
  8. typedef int (__stdcall TF_LocApoGetVitesse)(double* pVitesse);
  9. typedef int (__stdcall TF_LocApoGetDelai)(double* pTemps,double abscisse);
  10. typedef char* (__stdcall TF_LocApoGetDerniereErreur)(void);
  11. TF_LocApoGetAbscisse* _pfLocApoGetAbscisse;
  12. TF_LocApoGetVitesse* _pfLocApoGetVitesse;
  13. TF_LocApoGetDelai* _pfLocApoGetDelai;
  14. TF_LocApoGetDerniereErreur* _pfLocApoGetDerniereErreur;
  15. HINSTANCE hinstDLL;
  16. public:
  17. //-------------------   CONTRUCTEUR DESTRUCTEUR    -----------------------------
  18.     APOLocalisateur(char* nomDLL)
  19.     {
  20.         hinstDLL=LoadLibrary("LocSycomC.dll" );
  21.      _pfLocApoGetAbscisse=(TF_LocApoGetAbscisse*)GetProcAddress(hinstDLL, "LocApoGetAbscisse" );
  22.      _pfLocApoGetVitesse=(TF_LocApoGetVitesse*)GetProcAddress(hinstDLL, "LocApoGetVitesse" );
  23.      _pfLocApoGetDelai=(TF_LocApoGetDelai*)GetProcAddress(hinstDLL, "LocApoGetDelai" );
  24.      _pfLocApoGetDerniereErreur=(TF_LocApoGetDerniereErreur*)GetProcAddress(hinstDLL, "LocApoGetDerniereErreur" );
  25.     }
  26.     ~APOLocalisateur()
  27.     {
  28.      FreeLibrary(hinstDLL);
  29.     }
  30. //------------------------------------------------------------------------------
  31. double GetAbscisse(void)
  32.     {
  33.      double abscisse;
  34.      if (0 != _pfLocApoGetAbscisse(&abscisse))
  35.          throw Exception(DerniereErreur());
  36.   return abscisse;
  37. }
  38. //------------------------------------------------------------------------------
  39. double GetVitesse(void)
  40.     {
  41.      double vitesse;
  42.      if (0 != _pfLocApoGetVitesse(&vitesse))
  43.          throw Exception(DerniereErreur());
  44.   return vitesse;
  45.     }
  46. //------------------------------------------------------------------------------
  47. double GetDelai(double abcsisseAAtteindre)
  48.     {
  49.         double temps;
  50.      double abscisseAAtteindre;
  51.      if(0!=_pfLocApoGetDelai(&temps,abscisseAAtteindre))
  52.          throw Exception(DerniereErreur());
  53.      return temps;
  54.     }
  55. //------------------------------------------------------------------------------
  56.     char*  DerniereErreur(void)
  57.     {
  58.      return _pfLocApoGetDerniereErreur();
  59.     }
  60. //------------------------------------------------------------------------------
  61.     void SetPoidsImpulsion(unsigned int poids)
  62.     {
  63.     }
  64. }
  65. #endif

 

Reply

Marsh Posté le 04-06-2003 à 15:34:40    

il devrait avoir un permis de poster

Reply

Marsh Posté le 04-06-2003 à 15:34:52    

Sans les espaces les balises!
Et tu peux éditer ton post original au lieu de tout remettre!

Reply

Marsh Posté le 04-06-2003 à 15:35:13    

Sans les espaces on a dit ( si t'as du mal clique sue le petit boutton C/c++)


---------------
Le Tyran
Reply

Marsh Posté le 04-06-2003 à 15:35:32    

manque le ; a la fin de la def de ta classe

Reply

Marsh Posté le 04-06-2003 à 15:35:32   

Reply

Marsh Posté le 04-06-2003 à 15:36:41    

chrisbk a écrit :

manque le ; a la fin de la def de ta classe


 :lol:

Reply

Marsh Posté le 04-06-2003 à 15:37:08    

Reply

Marsh Posté le 04-06-2003 à 15:37:27    

Et c les lcassique pas de ";" à la fin de la classe.


---------------
Le Tyran
Reply

Marsh Posté le 04-06-2003 à 15:37:44    

exact merci les gars la dessus j'ai merder pour une connerie pareil

Reply

Marsh Posté le 04-06-2003 à 15:38:15    

J'en ai marre j'ai 3 métros de retard [:benou]


---------------
Le Tyran
Reply

Marsh Posté le 04-06-2003 à 15:38:52    

LetoII a écrit :

Et c les lcassique pas de ";" à la fin de la classe.


 
quand est ce que ce genre d'erreur sera enfin punie par la loi ?

Reply

Marsh Posté le 04-06-2003 à 15:40:12    

chrisbk a écrit :


 
quand est ce que ce genre d'erreur sera enfin punie par la loi ?  


 
J'irrais pas juque là, ça arrive même aux plus expérimentés.
 
Mais bon quand j'ai une erreur à la con c la première chose que je vérifie :D


---------------
Le Tyran
Reply

Marsh Posté le 04-06-2003 à 15:41:08    

LetoII a écrit :


 
J'irrais pas juque là, ça arrive même aux plus expérimentés.
 
Mais bon quand j'ai une erreur à la con c la première chose que je vérifie :D


 
ca n'arrive pas quand on a une charmante IDE qui te balance le patron de ta classe [:ddr555]

Reply

Marsh Posté le 04-06-2003 à 15:44:04    

chrisbk a écrit :


 
ca n'arrive pas quand on a une charmante IDE qui te balance le patron de ta classe [:ddr555]


 
Arf, mais ça m'arrive de bosser sans IDE alors je fais encore gaffe ;)


---------------
Le Tyran
Reply

Marsh Posté le 04-06-2003 à 15:44:46    

LetoII a écrit :


 
Arf, mais ça m'arrive de bosser sans IDE alors je fais encore gaffe ;)


 
[:lacuna coil]
 
je suis completement dependant de ces assistants :sweat:

Reply

Marsh Posté le 04-06-2003 à 15:45:54    

chrisbk a écrit :


 
[:lacuna coil]
 
je suis completement dependant de ces assistants :sweat:


 
On devient vite acro, la première fois que j'ai du retravailler avec Xemacs ça m'a fait drole :D


---------------
Le Tyran
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed