comment je peux traduire en delphi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifndef _VER #define LRLIB_C_API extern "C" #else #define LRLIB_C_API #endif
comment je peux traduire en delphi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #ifndef _VER #define LRLIB_C_API extern "C" #else #define LRLIB_C_API #endif
salut
un truc dans ce genre le seul probleme
c'est que le extern "C" indique si la methode
vient de l'exterieur ou pas dans ton cas je pense que tu peut l'oublier
@+ Phil
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 {$ifndef _VER} const LRLIB_C_API := 'extern "C"' ;<== ??? {$else} const LRLIB_C_API := ''; <== ??? {$endif}
en faite je traduit des .h pour charger une DLL ecrite en C++ dans delphi ,
donc je pense que j'en aurai besoin non ?
et pour traduire cela :
j'ai fait ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 const char *OmPlrGetErrorStringA(OmPlrError error); const wchar_t *OmPlrGetErrorStringW(OmPlrError error); #ifdef UNICODE #define OmPlrGetErrorString OmPlrGetErrorStringW #else #define OmPlrGetErrorString OmPlrGetErrorStringA #endif
mais ca compile pas !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 var OmPlrGetErrorStringA: function(error: OMPLRERROR): PCHAR ;cdecl {$IFDEF WIN32} stdcall {$ENDIF}; var OmPlrGetErrorStringW: function(error: OMPLRERROR): WCHAR_T ;cdecl {$IFDEF WIN32} stdcall {$ENDIF}; {$IFDEF UNICODE} const OmPlrGetErrorString = OmPlrGetErrorStringW; {$ELSE} const OmPlrGetErrorString = OmPlrGetErrorStringA; {$ENDIF}
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
il dit:
pour la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Pas assez de paramètres originaux
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3const OmPlrGetErrorString = OmPlrGetErrorStringA;
Mui,
Aïe.
Attention à ne pas confondre les constantes de Delphi et le travail du pré-processeur C ou C++
Pour Delphi,
signifie que tu crées un constante OmPlrGetErrorString qui prend la valeur OmPlrGetErrorStringW.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2const OmPlrGetErrorString = OmPlrGetErrorStringW;
Et bien entendu, comme OmPlrGetErrorStringW est en fait une fonction, Delphi ne veut pas de cette définition.
Il n'y a rein qui remplacer aussi simplement un #define du C ou C++, comme ceci
qui est une directive pour le pré-compilateur, l'informant de remplacer toutes les occurrences de OmPlrGetErrorString par OmPlrGetErrorStringW, cela au niveau élémentaire du texte du code source, avant que la compilation proprement dite sit effectuée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define OmPlrGetErrorString OmPlrGetErrorStringW
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
Mui,
Aïe.
Attention à ne pas confondre les constantes de Delphi et le travail du pré-processeur C ou C++
Pour Delphi,
signifie que tu crées un constante OmPlrGetErrorString qui prend la valeur OmPlrGetErrorStringW.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2const OmPlrGetErrorString = OmPlrGetErrorStringW;
Et bien entendu, comme OmPlrGetErrorStringW est en fait une fonction, Delphi ne veut pas de cette définition.
Il n'y a rein qui remplacer aussi simplement un #define du C ou C++, comme ceci
qui est une directive pour le pré-compilateur, l'informant de remplacer toutes les occurrences de OmPlrGetErrorString par OmPlrGetErrorStringW, cela au niveau élémentaire du texte du code source, avant que la compilation proprement dite soit effectuée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part #define OmPlrGetErrorString OmPlrGetErrorStringW
Partager