BCB一个很奇怪的变量定义问题!
当声明一个变量为外部变量时,我用这个格式:
extern String p;
但当类型变成TDataSet或其他VCL类时就说语法错误,究竟怎样才正确?
[解决办法]
改成指针
extern TDataSet *dset1;
在用之前new
[解决办法]
vcl控件只能定义成指针,不能直接定义成实例,实例需要new,TDataSet dset1;这句就算定义在窗口类中一样会出错
[解决办法]
当多个头文件中,有重复的名称时,会产生编译错误,解决的方法是用名字空间。
C/C++中,头文件相当于接口描述,是很重要的,因为宏的大量使用,有时头文件引用的次序不同也会导致不同的编译结果,为避免多个系统间合成时产生的重名问题,一般都会使用名字空间。
[解决办法]
对于使用TDataSet,你需要使用头文件:#include <Comobj.hpp>
放在TDataSet相同的页面上