读书人

做控件时遇到了些麻烦,哪里错了呢

发布时间: 2012-02-11 09:51:34 作者: rapoo

做控件时遇到了些麻烦,错哪了呢?
我做通信组件时候遇到了这样的错误:不知道错哪了,请哪位高手指点指点!谢谢啦!
.h里
自定义类型:enum TComPortNumber {pnCOM1,pnCOM2};
声明变量:TComPortNumber FCommPort;
声明函数:void __fastcall SetCommPort(TComPortNumber Port);
在published中声明属性
__property TComPortNumber CommPort={read=FCommPort,write=SetCommPort,default=pnCOM1} ;

.cpp里
实现函数
void __fastcall RS232::SetCommPort(TComPortNumber Port)
{
if(Port==FCommPort) return;
FCommPort=Port;
}
提示我的错误有这三个:
[C++ Error] RS232.cpp(48): E2316 'SetCommPort' is not a member of 'RS232'
[C++ Error] RS232.cpp(48): E2040 Declaration terminated incorrectly
[Linker Fatal Error] Fatal: Unable to open file 'RS232.OBJ'//这个也不道为啥。

[解决办法]
顶一个!
[解决办法]
RS232如何定义的?
[解决办法]

void __fastcall RS232::SetCommPort(TComPortNumber Port)
{
if(Port==FCommPort) return;
FCommPort=Port;
}

class PACKAGE TRS232 : public TComponent
{


C/C++ code
/*  你在cpp里面的写这个函数的实现代码时,把类名写成'RS232' 了,而你的类声明部分你的类叫'TRS232' 故编译器不能识别,只能报这个函数不是类的成员函数*/ 

读书人网 >C++ Builder

热点推荐