做控件时遇到了些麻烦,错哪了呢?
我做通信组件时候遇到了这样的错误:不知道错哪了,请哪位高手指点指点!谢谢啦!
.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
{
/* 你在cpp里面的写这个函数的实现代码时,把类名写成'RS232' 了,而你的类声明部分你的类叫'TRS232' 故编译器不能识别,只能报这个函数不是类的成员函数*/