一个关于MScom控件在winXP下使用的问题

心语天空 2006-03-27 11:06:29
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "MSCommLib_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;

AnsiString string="nihao"; //要通过mscomm控件向串口写入的内容
AnsiString b; //用来保存从串口读出的字符串数据
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
MSComm1->PortOpen=true; //打开串口
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
MSComm1->Output=StringToOleStr(string); //向串口写入string内容,即“nihao”
}
//---------------------------------------------------------------------------
void __fastcall TForm1::MSComm1Comm(TObject *Sender)
{
//以下是从串口读数据的程序,mscom控件rthreshold值为1,即,接到一个字符,就产生一次OnCom事件

OleVariant s; //定义一个接收的临时变量
if (MSComm1->CommEvent==comEvReceive)
{
s=MSComm1->Input; //S接收串口输入
b+=s.AsType(varString); //将S转变为AnsiString类型,并存入变量b中
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
ShowMessage(b); //显示b中的内容,看看串口的数据写入的是否正确
}
//---------------------------------------------------------------------------


请高手们帮看看上面的源程序,为什么我通过上面的程序不能写串口,读串口,请帮帮忙,急用呢!
...全文
190 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyyoung 2006-04-14
  • 打赏
  • 举报
回复
友情up

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧