0

我已经尝试了很多东西,但我无法让它发挥作用。我可以将普通字符串 (char*) 传递和接收到 C++,但我无法w_char_t *在 C++ 中接收 Unicode 字符串 ()。

这是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_tchar我收到了正确的字符串。

我在 VB6 上找到了很多资料,但不是 VB.net

非常感谢任何帮助。

莱昂

4

2 回答 2

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

此外,您的 C++ 代码有 dllexport 而不是 dllimport,对吗?

于 2010-12-15T06:04:35.027 回答
0

尝试将 UnicodeString 转换为字符串(通过使用一些系统定义的函数),然后将该字符串或 char* 传递给 C++ DLL。

希望这会奏效。

于 2010-12-15T05:21:03.127 回答