(OS 2000pro)
VC++ 6 中我用 MFC dll專案-->regular dll
extern "C" __declspec(dllexport) int MyFunc(int a, int b)
{
return (a+b);
}
VB6中(我把dll放在這個目錄下, 放到winnt/system32下結果一樣)
Public Declare Function MyFunc Lib "MyDll.dll" _
(a As Integer, b As Integer) As Integer
result = MyFunc(1,2)
-->然後Run的時候會出現 "Bad Dll Calling Convention"
我也試過 MFC dll-->extention dll 或是 Win32 dynamic-link library的專案方式都不行
我也試過 放一個 .DEF進去, 也是不行
( LIBRARY "MyDll.dll"
EXPORT
MyFunc @1
)
全部改成傳Long的型態也不行
唯一可以的是 上面的那個程式中, 只要傳入的是void就可以正確
VC
extern "C" __declspec(dllexport) int MyFunc(void)
{
return 100;
}
VB
Public Declare Function MyFunc Lib "MyDll.dll" _
() As Integer
result = MyFunc()
-->這樣就會傳回100, 且不會有錯誤
不知道是不是我程式寫法錯誤或是其他要注意的東西
或是可以寫一個範例給我, 謝謝
謝謝回答!!