作者dotwsc (海上生明月)
看板Python
標題Re: [問題] ctype註冊callback function
時間Thu Jan 27 01:51:12 2011
line 35
ret = self._RegisterOnAccountCallBack(c_long(id(cb)))
為什麼要取 id 後又轉成 c_long 呢?
應該是像 sbrhsieh 寫的
self._RegisterOnAccountCallBack(cb)
吧?
我以前也有試過用 ctypes 呼叫群〇API,
但那時也是沒成功,遇到跟你類似的問題
就懷疑是 dll threading model 的問題
可能要看一下 dll 裡 callback 的實作
就放棄了~
但如果你能成功 還請分享一下 :p
※ 引述《cobrasgo (體重突破所有均線)》之銘言:
: 不好意思,我改寫了還是不work
: 程式如下
: http://codepad.org/zGIVkXlv
: API說明文件在此
: http://www.badongo.com/file/25005330
: 我還特地把self._GetUserAccount呼叫的時間延遲了5秒,
: 但還是不行
: 執行結果就很順利的停在waiting那行
: 但callback function本身是沒進去
: 真的看不出哪裡有問題囧
: 請大德們不吝指教啊
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 160.39.214.186
推 cobrasgo:因為群益說明文件裡寫的,callback的data type是long 01/27 09:05
推 cobrasgo:再不行我就去學c++,沒在怕的啦XD 01/27 12:14
→ sbrhsieh:你還是可以使用我提供的做法。 01/27 17:58
→ sbrhsieh:使用 id function 來企圖取得 cb 的位址是不對的。 01/27 17:58
推 cobrasgo:我試出來了,等下貼個文跟大家分享一下 01/27 18:43