Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2338140
  • 博文数量: 816
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 5010
  • 用 户 组: 普通用户
  • 注册时间: 2008-12-17 17:57
文章分类

全部博文(816)

文章存档

2011年(1)

2008年(815)

分类:

2008-12-17 18:08:17

请问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) |
给主人留下些什么吧!~~