[問題] BCB 上等同於 VB addressof 的運算子
最近要將程式從VB移轉到BCB上
VB 和 VB.net 上有一個運算子 AddressOf
不知道轉到BCB上後要怎麼寫
找了好久資料還是試不出來
請版上的前輩知道的可以指導我一下
謝謝
--
"VB底下"
Rn=EventCallback(No, HIGH, 0, 0, AddressOf MyFunction, 0) //主程式呼叫
....
Public Sub MyFunction(ByVal parm As Long) //自己寫的函式
Count = Count + 1
End Sub
Declare Function EventCallback Lib "UNI.dll" (
ByVal No As Integer,
ByVal EventType As Integer,
ByVal Interrupt As Integer,
ByRef hEvent As Long,
ByVal CallbackFun As Long,
ByVal Parameter As Long) As Integer //這是他.bas檔裡的定義
"BCB底下"
Rn=EventCallback(No, HIGH, 0, 0, &MyFunction, 0) //主程式呼叫
void __fastcall TForm1::MyFunction(DWord parm) //自己寫的函式
{ Count=Count+1;
}
EXPORTS WORD CALLBACK EventCallback(
WORD No,
WORD EventType,
WORD Interrupt,
HANDLE *hEvent,
PVOID CallbackFun,
DWORD Parameter); 這是他.h檔裡的定義
執行後出現的錯誤訊息
E2034 Cannot convert 'void (_fastcall * (_closure )(unsigned long))(unsigned
long)' to 'void *'
E2342 Type mismatch in parameter 'CallbackFun' (wanted 'void *', got 'void
(_fastcall * (_closure )(unsigned long))(unsigned long)')
感覺像是型態上定義的問題 有人可以幫幫我嗎
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.61.208.31
※ 編輯: jungchun 來自: 211.72.51.216 (05/31 11:48)
→
05/31 12:03, , 1F
05/31 12:03, 1F
※ 編輯: jungchun 來自: 211.20.104.148 (05/31 17:13)
→
05/31 17:14, , 2F
05/31 17:14, 2F
→
05/31 17:19, , 3F
05/31 17:19, 3F
→
05/31 17:19, , 4F
05/31 17:19, 4F
→
05/31 17:22, , 5F
05/31 17:22, 5F
→
05/31 17:32, , 6F
05/31 17:32, 6F
→
05/31 22:24, , 7F
05/31 22:24, 7F