0

次のプロトタイプで ac コールバックがあります。

typedef void (* FrameDataCallBack)( TProcessedDataProperty* Attributes, unsigned char *BytePtr );

このコールバック関数は、ユーザーが定義し、次の関数でカメラにアタッチすることを意図しています。

BUFCCDUSB_InstallFrameHooker( int FrameType, FrameDataCallBack FrameHooker );

私は複数の方法でコールバックのプロトタイプを作成しようとしました:

1.

def frame_callback(attributes, frame):
for i in xrange(480*640): #Reads bytes and stores them in an array for future use
    frame_buffer[i/640][i%640] = frame[i*config.bin_no]
print "hi"
CMPFUNC = ctypes.CFUNCTYPE(None, 
                           ctypes.POINTER(TProcessedDataProperty), 
                           ctypes.POINTER(ctypes.c_ubyte))(frame_callback)

2.

CMPFUNC = ctypes.CFUNCTYPE(None, 
                       ctypes.POINTER(TProcessedDataProperty), 
                       ctypes.POINTER(ctypes.c_ubyte))
@CMPFUNC
def frame_callback....
#function declaration

3.

CMPFUNC = ctypes.CFUNCTYPE(None, 
                           ctypes.POINTER(TProcessedDataProperty), 
                           ctypes.POINTER(ctypes.c_ubyte))
cbfunc = CMPFUNC(frame_callback)

次に、コールバックをアタッチしようとします

BUFCCDUSB_InstallFrameHooker(0, CMPFUNC):   (frame_callback and cb for the respective callback codes)

関数の正しい arg と restypes をインスタンス化した後、ただし、コールバックは呼び出されません。誰かが考えられるエラーを指摘してくれることを望んでいました

4

1 に答える 1

0

ええ、私はそれを一番下に扱いました。Mightex Cameras を使用するすべての人が将来参照できるように、コールバックを GUI にアタッチする必要があるようです。コードのセクションを Tkinter ボタンに添付すると、コールバックが完全に機能します。

于 2013-07-09T12:44:36.060 に答える