#initialization
ret = self._SKOrderLib_Initialize(self._account, self._passwd)
print "init result is ", ret
CMPFUNC = CFUNCTYPE(c_int, POINTER(c_char_p))
cb = CMPFUNC(self._oiCallback)
#register a callback to get open interest status
ret = self._RegisterOnOpenInterestCallBack(addressof(cb))
print "oi result is ", ret
except:
traceback.print_exc()
def _oiCallback(self, returnString):
print "_oiCallback start"
print returnString
print "_oiCallback end"
qyAPI()
raw_input()
=================
其中的dll我放到
http://www.badongo.com/file/25000608
不過帳密這個就不方便po上來
所以可能在測試上面的程式時會有問題…
呼叫RegisterOnOpenInterestCallBack這個function,需要傳一個callback function
但是我這樣寫似乎是有問題的
callback function並沒有進去
請問我要register callback function的話
要怎麼寫呢?
若是有資訊不足的地方
我會再補上來
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.51.128
※ 編輯: cobrasgo 來自: 220.130.51.128 (01/24 19:10)
小弟目前在寫程式呼叫期貨商的API
但是碰到了問題
程式如下
import ctypes
from ctypes import *
import traceback
class qyAPI:
def __init__(self):
self._qyDllPath = "SKOrderLib.dll"
self._account = ""
self._passwd = ""
self._apiInit()
def _apiInit(self):
try:
self._qyAPI = windll.LoadLibrary(self._qyDllPath)
self._SKOrderLib_Initialize = self._qyAPI.SKOrderLib_Initialize
self._RegisterOnOpenInterestCallBack = self._qyAPI.RegisterOnOpenInterestCallBack