CLR - Utiliser CString et System::String^

Résolu
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 - 31 août 2010 à 10:00
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 - 1 sept. 2010 à 16:57
Bonjour à tous,

j'ai créé une dll managée C++ (VS2005) pour utiliser avec une application C#.
Cette Dll managée charge statiquement une dll non managée dont certaines fonctions prennent un CString en argument.
Cependant, dans ma dll managée, le type CString est inconnu.

Dll non managée
unsigned long fn_GetFileVersion(unsigned char byType, CString sFile)


Dll managée
unsigned long fn_GetFileVersion(unsigned char byType, String^ sFile)


En cherchant sur le net, j'ai vu que je pouvais mettre :
#include 


Lorsque je compile, j'ai une erreur LNK 2028 : jeton non résolu...

Il semble y avoir une incompatibilité entre les CString des 2 dlls.


Si quelqu'un a une idée?


Merci d'avance

--------------------------------------------------------------------------------
Phantom_2005

2 réponses

phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
1 sept. 2010 à 16:57
Problème résolu!
J'avais mis le include du header de la dll MFC dans le .c de la dll managée.
Je l'ai placée dans le .h et cà fonctionne...

J'ai ensuite remplacé le stdafx.h qui était dans le projet la dll managé par celui de la dll MFC.


--------------------------------------------------------------------------------
Phantom_2005
<font color="#0000
3
phantom_2005 Messages postés 184 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 1 septembre 2010 1
31 août 2010 à 10:06
J'ai également un warning sur les variables CString de ma dll non managée:

warning C4251: 'CMF_GDTex::sWorkingPathScan' : class 'ATL::CStringT'
nécessite une interface DLL pour être utilisé(e) par les clients de class 'CMF_GDTex'


Si ca peut aider...

--------------------------------------------------------------------------------
Phantom_2005
<font color="#0000
0
Rejoignez-nous