Lucifer love running 2024-03-25 00:06 采纳率: 33.3%
浏览 28
已结题

C++开发动态库与C#客户平台无法响应

基于一台设备的SDK,开发接口与客户网页测试平台进行动作测试。客户测试平台需安装一个.exe,然后访问至127.0.0.1/x/*,访问网络前需将自己制作的接口文件及按客户要求制作的驱动文件替换至客户文件夹根目录中,此过程替换成功。
客户网页当前只有两个按钮可用,
进卡--会同时读取设备序列号,然后移动卡片
退卡--将卡片退出

img

img

客户环境为Windows 10 64bit,使用C# 32位开发测试平台,具体测试动作仅有两项:
1.获取设备序列号。
2.移动设备中的卡片到指定位置。
客户所给应用接口开发档案截取部分如下

img

img

在Windows 10 64bit环境中使用设备SDK中C++动态库及示例,Target Architecture--AnyCPU, 选择32bit设备动态库。

img

img

img

img


img


img

当前问题,当使用客户平台点击获取设备序列号时,可以获取正确设备序列号,但是当使用移动卡片功能时,命令发出但设备无动作。设备本体始终处于Ready状态,没有产生任何动作。创立日志中可以看到指令发出。
但是在使用自己所开发的一个C#执行程序,同样发出三条命令时,设备完全可以正常动作,获取序列号,并移动卡片。

当使用自己C#开发的执行程序发出同样命令,设备全部做出正确动作。

img

请问是哪里出了问题

  • 写回答

16条回答 默认 最新

  • churuxu 2024-03-25 09:56
    关注

    排查一下两个区别,从有区别的地方去找原因。

    比如你的测试程序是(读序列号+进卡)两个按钮分开,你的客户网页是一个按钮两个动作(读序列号+进卡),是否可能导致给设备发的两条指令连一起,设备只识别到一条指令,针对这个可能原因,客户网页改成两个按钮分开,或者两个动作之间增加sleep试试。

    其他区别看不出来,你的测试程序跟实际接口程序都没放出来,如果没解决,还是继续排查其他区别。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(15条)

报告相同问题?

问题事件

  • 系统已结题 4月3日
  • 已采纳回答 3月26日
  • 修改了问题 3月25日
  • 修改了问题 3月25日
  • 展开全部