串口通信问题,初始化函数数据类型不对

dongchang 2007-07-11 12:24:52
仪器自带了一个通信控件EComm,在进行初始化的时候,那个函数老是说类型不对,请高手指点一下

void __fastcall TMainForm::FormCreate(TObject *Sender)
{
long DeviceType[3];
long DeviceSelect[3];
long Flag2000A[3];
long AdditionByte[3];
long Result;
for(int i=0;i<3;i++)
{
DeviceType[i]=0;
DeviceSelect[i]=0;
Flag2000A[i]=0;
AdditionByte[i]=0;
}
DeviceSelect[0]=1;
Flag2000A[0]=0;
DeviceType[0]=2;
Result=EComm1->Init(1,19200,"n",8,1,"",DeviceSelect,Flag2000A); //这个地方
EComm1->SetDeviceAdditionByte(AdditionByte);
EComm1->SetDeviceType(DeviceType);
if(Result!=0)
{
ShowMessage("通讯初始化失败,请检查串口是否已经打开或参数错误");
}
}


下面是错误提示:
[C++ Error] MainUnit.cpp(48): E2034 Cannot convert 'char *' to 'wchar_t *'
[C++ Error] MainUnit.cpp(48): E2342 Type mismatch in parameter 'Parity' (wanted 'wchar_t *', got 'char *')
[C++ Error] MainUnit.cpp(48): E2034 Cannot convert 'char *' to 'wchar_t *'
[C++ Error] MainUnit.cpp(48): E2342 Type mismatch in parameter 'lpPhoneNo' (wanted 'wchar_t *', got 'char *')
...全文
223 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantasyemperor 2007-07-20
  • 打赏
  • 举报
回复
wchar_t是Unicode用的宽字符类型。用双字表示的字符.汉字字符即为双字。 可以用Win32Api的MultiByteToWideChar/WideCharToMultiByte或C运行库的mbstowcs/wcstombs系列函数对wchar_t* 和 char* 之间进行转换。
下面说的很详细
http://blog.csdn.net/newcore/archive/2005/05/20/376793.aspx

i_love_pc 2007-07-20
  • 打赏
  • 举报
回复
能不能把Init函数类型说明一下。
MEFULEU 2007-07-20
  • 打赏
  • 举报
回复
转阿,


char *c1;
wchar_t *c2;
c1="sdfgssdgf";
c2=(wchar_t *)c1;

1,317

社区成员

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

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