2010-12-15 72 views
0

J'ai essayé beaucoup de choses mais je n'arrive pas à faire marcher ça. Je peux passer et recevoir des chaînes ordinaires (char *) en C++, mais je ne peux pas recevoir de chaînes Unicode (w_char_t *) en C++.Passer une chaîne unicode de VB.net à C++ dll

Voici quelques bits du code sur C++

__declspec(dllimport) int __stdcall readFile(const w_char_t *file_path) 

sur VB.net

Public Declare Function readFile Lib "MyDll.dll" Alias "[email protected]" (ByVal file_path As String) As Integer 

quand je change w_char_t à char je reçois la chaîne correcte.

J'ai trouvé beaucoup de matériel sur VB6, mais pas pour VB.net

Toute aide grandement appréciée.

Leon

Répondre

0
Public Declare Unicode Function readFile Lib "MyDll.dll" Alias "[email protected]" (ByVal file_path As String) As Integer 

En outre, votre code C++ a dllexport pas dllimport, non?

+0

Cela m'a aidé. Merci beaucoup. (dit aussi dllexport) – Leon

0

Essayez de convertir UnicodeString à cordes (en utilisant une fonction définie du système), puis transmettre cette chaîne ou char * à C++ DLL.

Espérons que cela fonctionnera.