C++要寫 windows介面
整體來說 編寫時間上不如
VB 來的快的說
因此看說有人是...
用 C++(VC、BC) 寫運算 (.dll 為主)
用
VB 設計介面
但找到的都不是很完整
不知有無版友手上有完整範例的說
自己做過的努力如下
運行後是有顯示出 VC++的 MessageBox 內容
但接著就出現
執行階段錯誤'49':
DLL 呼叫格式錯誤
應該是指 參數傳遞 方面的錯誤
不知如何是好 ??
==VB==
Option Explicit
Private Declare Function ShowMsg Lib "test2.dll" Alias "ShowMsgW" (ByVal send As String, ByVal hWnd As Long) As Integer
Private Sub Command1_Click()
Dim send As String
send = "Hello,World!"
Call ShowMsg(send, Me.hWnd)
End Sub
==VC++==
..... //.....前面是專案精靈產生的程式碼,與試驗無關
extern "C" __declspec(dllexport) int ShowMsgW(LPCSTR pText, HWND hWnd)
{
return MessageBox(hWnd ,pText ,"Information" ,MB_OK);
}
====================
後來有想起
C++ 的 int 相當於
VB 的 long
因此
做過 ...(dllexport) int ShowMsgW ...
改成 ...(dllexport) short int ShowMsgW ...
或
ShowMsg Lib "test2.dll" ...(...) As Integer
改成
ShowMsg Lib "test2.dll" ...(...) As Long
結果亦然
(當然 改成不回傳值 void 也一樣,所以看來問題還是 參數傳遞 方面的錯誤)