作者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
1F:推 cobrasgo:因为群益说明文件里写的,callback的data type是long 01/27 09:05
2F:推 cobrasgo:再不行我就去学c++,没在怕的啦XD 01/27 12:14
3F:→ sbrhsieh:你还是可以使用我提供的做法。 01/27 17:58
4F:→ sbrhsieh:使用 id function 来企图取得 cb 的位址是不对的。 01/27 17:58
5F:推 cobrasgo:我试出来了,等下贴个文跟大家分享一下 01/27 18:43