0

このサイトの RFID を使用したアプリを C# で開発しています

ここで 、私は1つのリーダーでそれを行いましたが、うまくいきましたが、同じPCで2つのリーダーを使用し、コードを変更せずにMultiReader.dllを使用すると、エラーメッセージが表示されます

PInvoke 関数 'GetSerial!GetSerial.uFRCoder1x::ReaderOpen' の呼び出しにより、スタックのバランスが崩れました。これは、マネージド PInvoke 署名がアンマネージド ターゲット シグネチャと一致しないことが原因である可能性があります。PInvoke シグネチャの呼び出し規約とパラメーターがターゲットのアンマネージド シグネチャと一致することを確認します。

これは何を意味するのでしょうか?

4

1 に答える 1

0

参照部分のソリューション エクスプローラーで、multiReader.DLL をクリックし、[プロパティ] ウィンドウで f4 または Get プロパティを押して、コピーをローカルに変更し、Introtype を埋め込み、メソッドに他の署名がある場合はプロジェクトをビルドします。[定義に移動] または [参照] で確認できます。オブジェクト エクスプローラー、また呼び出す前にキャスト タイプと "ref" ワードを呼び出す

そして、送受信用のCOMポートとシリアルをreacできる場合は、C#コンポーネントまたはツールを「SerialPort」という名前で使用できると思います。便利です

于 2013-02-24T17:16:10.853 に答える