关于2个窗体共享串口设备问题。有高手帮忙解决么 小弟我操作的是明华IC兼容卡机。。插入西门子4442卡,最普通的了现在我遇到一个问题就是A窗体已经打开了串口和读取IC卡的数据,这个没问题,我现在就是想在打开A窗体的同时,也要同时打开B窗体,B窗体也要读取IC卡机和IC卡的数据,不过现在打开A窗体的同时再打开B窗体,B窗体就显示串口被占用各位大哥有没有什么好的办法可以共享串口设备数据呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 创建一个对象和COM交互.其它操作都通过这个对象进行. 饿。。小弟我不太明白,只是初学者,可以说的清楚点么?我下面贴下代码以下贴的是根据明华IC卡的DEMO写的打开串口begin icdev:=auto_init(0,9600); //初始化串口一,并将读写器波特率设为9600if icdev<=0 then begin showmessage('IC卡机连接失败,请检查。'); end;end;读取卡数据beginstatus:=0;st:=get_status(icdev,@status); //检测读写器中是否有卡,if status=0 then //status=0表示无卡,=1表示有卡; begin pnl1.Caption:='请插入IC卡'; exit;endelse password:='ffffff'; st:=asc_hex(password,password1,3); st:=csc_4442(icdev,3,password1); offset:=32; //以ASC形式读写 length:=6; //读取6位 st:=srd_4442(icdev,offset,length,data2); edt2.Text:=data2; pnl1.Caption:='插入正确'; //a:=data2;end; 第一种可能:你用的是读卡器提供的API接口.那就没什么问题。A,B窗口随便用,只是调函数而已嘛.第二种可能:你自己用的三方组件去读写串口:不要创建两个读写串口的组件对象.用一个就行了.要么把它设置为全局对象,要么放到某一个窗口中(如A),另一个窗口(B)要读写数据时,直接使用A中的组件对象.不要再弄另一个去打开串口.第三种可能:直接用的windows API去操作串口:跟第一种情况类似 希望各位大虾帮我写个正则表达式。 这个功能困了我好多天,望能得到高手的帮助 d7里如何统计某个工程的代码总量呀?一台电脑上同时装d7和d2007会出问题嘛? 从字符串转换为datetime时发生语法错误 请问高手:为什么我的ReportBuilder在预览时只有一页,但在打印时页数会不停地增加?,不停地打印很多頁? 请教如何固定字符串的长度 求救 关于combobox 一个有关dbgrid显示的问题? 寻找一个“TProvider”构件? (给分) 3层如何写查询代码? listview某列单元格可以手动输入数据 问题再问,
饿。。小弟我不太明白,只是初学者,可以说的清楚点么?我下面贴下代码以下贴的是根据明华IC卡的DEMO写的
打开串口begin
icdev:=auto_init(0,9600); //初始化串口一,并将读写器波特率设为9600
if icdev<=0 then
begin
showmessage('IC卡机连接失败,请检查。');
end;
end;
读取卡数据begin
status:=0;
st:=get_status(icdev,@status); //检测读写器中是否有卡,
if status=0 then //status=0表示无卡,=1表示有卡;
begin
pnl1.Caption:='请插入IC卡';
exit;
end
else
password:='ffffff';
st:=asc_hex(password,password1,3);
st:=csc_4442(icdev,3,password1);
offset:=32; //以ASC形式读写
length:=6; //读取6位
st:=srd_4442(icdev,offset,length,data2);
edt2.Text:=data2;
pnl1.Caption:='插入正确';
//a:=data2;
end;
你用的是读卡器提供的API接口.那就没什么问题。A,B窗口随便用,只是调函数而已嘛.第二种可能:
你自己用的三方组件去读写串口:
不要创建两个读写串口的组件对象.用一个就行了.
要么把它设置为全局对象,要么放到某一个窗口中(如A),另一个窗口(B)要读写数据时,直接使用A中的组件对象.不要再弄另一个去打开串口.第三种可能:
直接用的windows API去操作串口:
跟第一种情况类似