我现在要编写一个与WinFIOL.exe进行DDE热连接数据交换.但现在有个问题:
用Delphi 2005编写的程序在接收数据时,会漏掉一些数据或重复读取同一
数据.请问这是为何?
WinFIOL.exe简介:
WinFIOL.exe是爱立信移动交换机终端所使用的软件.与之进行DDE热
连接后(DdeClientItem1.DdeItem:='Output"),其输出发生变化时
DdeClientItem1.OnChange事件会发生. Delphi 3.0:
所有控件的属性均为默认值:procedure TForm1.NewLink1Click(Sender: TObject);
begin
DdeClientConv1.SetLink('WinFIOL','Channel #2');
DdeClientItem1.DdeConv:=DdeClientConv1;
DdeClientItem1.DDeItem:='Output';
end;procedure TForm1.DdeClientItem1Change(Sender: TObject);
begin
Memo1.Lines.Add(DdeClientItem1.Text);
end;{
procedure TForm1.Button1Click(Sender:TObject);
begin
DdeClientConv1.SetLink('WinFIOL','Channel #2');
DdeClientItem1.DdeConv:=DdeClientConv1;
DdeClientItem1.DDeItem:='Output';
end;
}
程序输出:
<rlcrp:cell=dyg109a;
CELL BCCH CBCH SDCCH NOOFTCH
DYG109A 1 0 8 6
BPC CHANNEL CHRATE SPV STATE ICMBAND
2767 BCCH-34748 BUSY
2764 SDCCH-33919 IDLE 1
SDCCH-33918 IDLE 1
SDCCH-33917 IDLE 1
SDCCH-33916 IDLE 1
SDCCH-33915 IDLE 1
SDCCH-33914 IDLE 1
SDCCH-33913 IDLE 1
SDCCH-33912 IDLE 1
2761 TCH-6732 FR 1 IDLE 1
2760 TCH-6731 FR 1 BUSY 1
2759 TCH-6730 FR 1 BUSY 1
2758 TCH-6729 FR 1 BUSY 1
2757 TCH-6652 FR 1 IDLE 1
END
ENDWinFIOL.exe标准输出: <rlcrp:cell=dyg109a;
CELL RESOURCES
CELL BCCH CBCH SDCCH NOOFTCH
DYG109A 1 0 8 6
BPC CHANNEL CHRATE SPV STATE ICMBAND
2767 BCCH-34748 BUSY
2764 SDCCH-33919 IDLE 1
SDCCH-33918 IDLE 1
SDCCH-33917 IDLE 1
SDCCH-33916 IDLE 1
SDCCH-33915 IDLE 1
SDCCH-33914 IDLE 1
SDCCH-33913 IDLE 1
SDCCH-33912 IDLE 1
2761 TCH-6732 FR 1 IDLE 1
2760 TCH-6731 FR 1 BUSY 1
2759 TCH-6730 FR 1 BUSY 1
2758 TCH-6729 FR 1 BUSY 1
2757 TCH-6652 FR 1 IDLE 1
2756 TCH-6651 FR 1 IDLE 1
END
用Delphi 2005编写的程序在接收数据时,会漏掉一些数据或重复读取同一
数据.请问这是为何?
WinFIOL.exe简介:
WinFIOL.exe是爱立信移动交换机终端所使用的软件.与之进行DDE热
连接后(DdeClientItem1.DdeItem:='Output"),其输出发生变化时
DdeClientItem1.OnChange事件会发生. Delphi 3.0:
所有控件的属性均为默认值:procedure TForm1.NewLink1Click(Sender: TObject);
begin
DdeClientConv1.SetLink('WinFIOL','Channel #2');
DdeClientItem1.DdeConv:=DdeClientConv1;
DdeClientItem1.DDeItem:='Output';
end;procedure TForm1.DdeClientItem1Change(Sender: TObject);
begin
Memo1.Lines.Add(DdeClientItem1.Text);
end;{
procedure TForm1.Button1Click(Sender:TObject);
begin
DdeClientConv1.SetLink('WinFIOL','Channel #2');
DdeClientItem1.DdeConv:=DdeClientConv1;
DdeClientItem1.DDeItem:='Output';
end;
}
程序输出:
<rlcrp:cell=dyg109a;
CELL BCCH CBCH SDCCH NOOFTCH
DYG109A 1 0 8 6
BPC CHANNEL CHRATE SPV STATE ICMBAND
2767 BCCH-34748 BUSY
2764 SDCCH-33919 IDLE 1
SDCCH-33918 IDLE 1
SDCCH-33917 IDLE 1
SDCCH-33916 IDLE 1
SDCCH-33915 IDLE 1
SDCCH-33914 IDLE 1
SDCCH-33913 IDLE 1
SDCCH-33912 IDLE 1
2761 TCH-6732 FR 1 IDLE 1
2760 TCH-6731 FR 1 BUSY 1
2759 TCH-6730 FR 1 BUSY 1
2758 TCH-6729 FR 1 BUSY 1
2757 TCH-6652 FR 1 IDLE 1
END
ENDWinFIOL.exe标准输出: <rlcrp:cell=dyg109a;
CELL RESOURCES
CELL BCCH CBCH SDCCH NOOFTCH
DYG109A 1 0 8 6
BPC CHANNEL CHRATE SPV STATE ICMBAND
2767 BCCH-34748 BUSY
2764 SDCCH-33919 IDLE 1
SDCCH-33918 IDLE 1
SDCCH-33917 IDLE 1
SDCCH-33916 IDLE 1
SDCCH-33915 IDLE 1
SDCCH-33914 IDLE 1
SDCCH-33913 IDLE 1
SDCCH-33912 IDLE 1
2761 TCH-6732 FR 1 IDLE 1
2760 TCH-6731 FR 1 BUSY 1
2759 TCH-6730 FR 1 BUSY 1
2758 TCH-6729 FR 1 BUSY 1
2757 TCH-6652 FR 1 IDLE 1
2756 TCH-6651 FR 1 IDLE 1
END
解决方案 »
- 请介绍一下drawbox函数,谢谢
- DBgrideh动态添加列
- ***[关于超时] 一个简单的问题难道了无数高手!!!
- 新手提问,delphi中有用来等待什么也不作的函数么???盼望答复(20分)
- 吐血,一个基于ISAPI的Web Server Application的查询数据库程序不知哪里出错?
- 同时播放mid和wav文件,只听得到mid文件怎么办???
- CSDN会员每日邮递表是什么东西?
- 如何联接表中字段和DBComboBox控件
- 哪里有钩子方面的资料下载的啊?
- 三层结构经常出现内存不足,是怎么一回事?
- 用ActionMannager可不可以做二级,三级菜单,怎么做?
- ListBox与dbgrid的问题
<rlcrp:cell=dyg109a;
CELL BCCH CBCH SDCCH NOOFTCH
DYG109A 1 0 8 6
BPC CHANNEL CHRATE SPV STATE ICMBAND
2767 BCCH-34748 BUSY
2764 SDCCH-33919 IDLE 1
SDCCH-33918 IDLE 1
SDCCH-33917 IDLE 1
SDCCH-33916 IDLE 1
SDCCH-33915 IDLE 1
SDCCH-33914 IDLE 1
SDCCH-33913 IDLE 1
SDCCH-33912 IDLE 1
2761 TCH-6732 FR 1 IDLE 1
2760 TCH-6731 FR 1 BUSY 1
2759 TCH-6730 FR 1 BUSY 1
2758 TCH-6729 FR 1 BUSY 1
2757 TCH-6652 FR 1 IDLE 1
END
END