イメージバッファ用のクラスを作成します。クラスは次のようになります。ctypes属性を持つPythonクラスには副作用があります
import ctypes
class ImgBuf():
def __init__(self, bufnr=ctypes.c_int(-1)):
self.bufnr = bufnr
属性「bufnr」参照することにより、共有ライブラリに引き渡され、バッファ管理のために変更されます。私はこのクラスの複数のインスタンスを(複数のイメージバッファを管理するため)持っていると思います。小さな例
import imgBuf.ImgBuf
buf1 = dicamsdk.ImgBuf()
buf2 = dicamsdk.ImgBuf()
sharedDLL.allocateBuffer(buf1)
bufNr
の両方の場合において変更されています。インスタンスを独立させるにはどうすればいいですか?
私はそれを実行しようとすると、私は 'TypeError例外を取得::' ctypes.c_int(bufnr)に整数が必要です(GOTタイプc_intのを) 'あなたは、関数が呼び出された新しいオブジェクトを毎回作成する必要があります'呼び出し。これはあなたが実際に走ったものだと確信していますか? – user2357112
実際には、コードが減少したためにタイプがありました。それを修正しました。ありがとう。 – smiddy84