CLR - Utiliser CString et System::String^ [Résolu]

Messages postés
184
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
1 septembre 2010
- - Dernière réponse : 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
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
184
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
1 septembre 2010
1
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 195 internautes nous ont dit merci ce mois-ci

Commenter la réponse de phantom_2005
Messages postés
184
Date d'inscription
mercredi 8 décembre 2004
Statut
Membre
Dernière intervention
1 septembre 2010
1
0
Merci
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
Commenter la réponse de phantom_2005