作者clv (給真相=封鎖)
看板C_and_CPP
標題[問題] VC++寫成的DLL VB6.0呼叫會有問題
時間Thu Jan 16 20:19:47 2014
在vc 2008 dll內,兩個功能完全一樣,只是return是const char* 一個是long
extern "C" _declspec(dllexport) const char* __stdcall ToServer(const char
*str);
extern "C" _declspec(dllexport) long __stdcall ToServer1(const char *str);
在vb6.0
Private Declare Function ToServer1 Lib "XXX.dll" (ByVal myXML As
String) As Integer
Private Declare Function ToServer Lib "XXX.dll" (ByVal myXML As
String) as String
ToServer(xxx) //會當掉
ToServer1(xxx) //成功
不知是什麼原因 希望有人可以幫忙指點一二
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.162.16
→ azureblaze:如果在dll裡頭呼叫ToServer而且讀取傳回值呢? 01/16 20:34
→ licheer:const char* __stdcall ?? 我猜 01/16 20:50
→ purincess:有點好奇return不一樣的東西要怎麼功能完全一樣 01/16 20:55
→ clv:好像用BSTR就可以了 查一下那是什麼 01/16 21:01
推 johnpage:你自己不是指出問題點,宣告有問題 01/17 06:33
→ clv:我一開始不知道該如何宣告才是VB可以用的 哈哈 01/17 19:33