Re: [問題] ctype註冊callback function

看板Python作者 (海上生明月)時間14年前 (2011/01/27 01:51), 編輯推噓3(302)
留言5則, 2人參與, 最新討論串5/10 (看更多)
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

01/27 09:05, , 1F
因為群益說明文件裡寫的,callback的data type是long
01/27 09:05, 1F

01/27 12:14, , 2F
再不行我就去學c++,沒在怕的啦XD
01/27 12:14, 2F

01/27 17:58, , 3F
你還是可以使用我提供的做法。
01/27 17:58, 3F

01/27 17:58, , 4F
使用 id function 來企圖取得 cb 的位址是不對的。
01/27 17:58, 4F

01/27 18:43, , 5F
我試出來了,等下貼個文跟大家分享一下
01/27 18:43, 5F
文章代碼(AID): #1DG5yJUm (Python)
討論串 (同標題文章)
文章代碼(AID): #1DG5yJUm (Python)