Передать Unicode-строку из VB.net в C ++ dll - PullRequest
0 голосов
/ 15 декабря 2010

Я много чего пробовал, но не могу заставить это работать.Я могу передать и получить обычные строки (char *) в C ++, но я не могу получить строки Unicode (w_char_t *) в C ++.

Вот некоторые фрагменты кода на c ++

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

на VB.net

Public Declare Function readFile Lib "MyDll.dll" Alias "_readFile@4" (ByVal file_path As String) As Integer

, когда я меняю w_char_t на char, получаю правильную строку.

Я нашел много материала на VB6, но не дляVB.net

Любая помощь с благодарностью.

Леон

Ответы [ 2 ]

0 голосов
/ 15 декабря 2010
Public Declare Unicode Function readFile Lib "MyDll.dll" Alias "_readFile@4" (ByVal file_path As String) As Integer

Кроме того, ваш код C ++ имеет dllexport, а не dllimport, верно?

0 голосов
/ 15 декабря 2010

Попробуйте преобразовать UnicodeString в строку (используя некоторую системную функцию), а затем передайте эту строку или символ * в C ++ DLL.

Надеюсь, это сработает.

...