群益提供的報價 API 應該是用 C/C++ 寫的 32-bit DLL
我則是使用 C# 來寫策略程式
API 中有函式需要 callback function
但是他的函式參數只收 long 做為 function pointer 的 type
而 C# 裡只有 delegate 頂多轉成 IntPtr
我試了幾種方法 都沒辦法成功地讓該函式呼叫到 callback function
範例程式碼有 VB 與 VC++ 他們使用
VB: 函式名稱( AddressOf CallbackFunctionName )
VC++: 函式名稱( (long) CallbackFunctionName )
不曉得板上是否有高手處理過該 DLL (SKQuoteLib.dll) 或是類似的問題
我卡在這地方許久 也找不到解決的方式
根據查的一些資訊
這跟 Managed 與 Unmanaged 之間的 P/Invoke 與反向 P/Invoke 有關
可能跟 CLR 的細部處理有關
C/C++ 的 long 是 32-bit
平台:
Vista 64-bit Enterprise
Visual Studio 2008, 專案的 target platform 已改為 x86
先行感謝~
--
我則是使用 C# 來寫策略程式
API 中有函式需要 callback function
但是他的函式參數只收 long 做為 function pointer 的 type
而 C# 裡只有 delegate 頂多轉成 IntPtr
我試了幾種方法 都沒辦法成功地讓該函式呼叫到 callback function
範例程式碼有 VB 與 VC++ 他們使用
VB: 函式名稱( AddressOf CallbackFunctionName )
VC++: 函式名稱( (long) CallbackFunctionName )
不曉得板上是否有高手處理過該 DLL (SKQuoteLib.dll) 或是類似的問題
我卡在這地方許久 也找不到解決的方式
根據查的一些資訊
這跟 Managed 與 Unmanaged 之間的 P/Invoke 與反向 P/Invoke 有關
可能跟 CLR 的細部處理有關
C/C++ 的 long 是 32-bit
平台:
Vista 64-bit Enterprise
Visual Studio 2008, 專案的 target platform 已改為 x86
先行感謝~
--
All Comments