请问victor老师,我在用victor控件时,因为要收发数据包,同时还要处理dcd引脚变化的线程,我用一个victor控件,但是用到YbCommDevice1CommNotify()和YbCommDevice1Package(),象如下用法:
.......
rebackdata=GetQueryMessage(TCP_CMD_REVERT_FAIL_MARK);
YbCommDevice1->PackageInterval=50;
YbCommDevice1->PackageSize = 4096; //最大可发送 4096 个字节的数据包
YbCommDevice1->PackageType = cptFrameTimeout; //用判断超时的方法接收数据包
YbCommDevice1->UsePackage = true; //启动数据包
............
void __fastcall TForm1::YbCommDevice1CommNotify(TObject *Sender,//用来处理dcd引脚变化线程
int NotifyType)
{
if(NotifyType & EV_RLSD) //
{
if(!YbCommDevice1->RLSD)
{
//进行数据处理
........
}
void __fastcall TForm1::YbCommDevice1Package(TObject *Sender, //收发数据处理线程
int NotifyType)
{
if(NotifyType& EV_RXCHAR)
{
const BufSize = 4096;
char Buffer[BufSize];
int nBytes;
AnsiString s;
if((nBytes=YbCommDevice1->ReadPackage(Buffer,BufSize))>0)
{
Buffer[nBytes]= 0;
Memo2->Lines->Add(Buffer);
ParseNetMessage(Buffer);//数据处理
}
}
}
请问以上这样处理会不会在程序中有问题??
--------------------next---------------------
阅读(1347) | 评论(0) | 转发(0) |