使用DELPHI写了一个DLL,其中有一个非常简单的测试函数function test(Str :PWideChar):integer;stdcall;export;
var ws:wideString;
begin
ws:=Str;
if (Str='中') then ShowMessage('ok');
ShowMessage(ws);
result :=1;
end;然后使用VB调用
dim ls_str as string
ls_str = "中"
MsgBox test(ls_str)但是这样 if (Str='中') then ShowMessage('ok'); 判断并不相等且每次ShowMessage(ws);的值都不一样,VB的string是双字节的,unicode参数应该如何定义和处理呢?谢谢已经发了一个同样问题的帖子,一起结分:http://topic.csdn.net/u/20100730/22/a4588d71-c506-4a81-a6c5-33100b91ab49.html
var ws:wideString;
begin
ws:=Str;
if (Str='中') then ShowMessage('ok');
ShowMessage(ws);
result :=1;
end;然后使用VB调用
dim ls_str as string
ls_str = "中"
MsgBox test(ls_str)但是这样 if (Str='中') then ShowMessage('ok'); 判断并不相等且每次ShowMessage(ws);的值都不一样,VB的string是双字节的,unicode参数应该如何定义和处理呢?谢谢已经发了一个同样问题的帖子,一起结分:http://topic.csdn.net/u/20100730/22/a4588d71-c506-4a81-a6c5-33100b91ab49.html
將中文字符轉換成UNICODE才可以
因为现在要解决的就是中文字符。还有 中文字符不是UNICODE字符码? 初学DELPHI请多指教,谢谢。测试传递字符,A,也不行
则建议在 VB 论坛提问如何调用 delphi 写的 dll。