0

我正在使用 C# 中这个站点的 RFID 开发一个应用程序

在这里 ,我是用一个 Reader 做的,它工作得很好,但是当我在同一台 PC 中使用两个 Reader 并且我使用 MultiReader.dll 而代码没有变化时,它会显示错误消息

调用 PInvoke 函数 'GetSerial!GetSerial.uFRCoder1x::ReaderOpen' 使堆栈失衡。这可能是因为托管 PInvoke 签名与非托管目标签名不匹配。检查 PInvoke 签名的调用约定和参数是否与目标非托管签名匹配。

这是什么意思?

4

1 回答 1

0

在引用部分的解决方案资源管理器上,单击 multiReader.DLL,然后在属性窗口上按 f4 或 Get 属性并将副本更改为本地并嵌入 Introtype,然后构建您的项目,如果该方法有其他签名,您可以通过转到定义进行检查或查看对象资源管理器,也可以在调用时调用强制转换类型和“ref”字样

我想如果你可以重新发送和接收 COM 端口和串行,你可以使用 C# 组件或名为“SerialPort”的工具,这很有用

于 2013-02-24T17:16:10.853 回答