BCB中的类定义时加入了--property是什么意思?

chengsion 2003-08-02 12:52:42
#ifndef GetVerH
#define GetVerH

typedef struct _TTranslation
{
WORD IangID;
WORD charset;
} TTranslation

class TGetVersionInfoFromFile: public TComponent
{
private;
AnsiString FFileName;
TStringList *FmyVersionStrings;
TStringLIst *FmyVersionCategories;

void __fastcall SetFileName(AnsiString inp);
void __fastcall dontWrite(TStringList *inp);
void __fastcall readVersionForm(void);

public:
__property AnsiString fileName ={read = FFileName,write=SetFileName};

};
#endif

如上代码,__property何解?
...全文
给本帖投票
450 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Spacesoft 2003-11-13
  • 打赏
  • 举报
回复
__property 是BCB 为了兼容VCL 而对C++ 作的扩展。你可以认为它仅仅是为了你写程序方便而设计的,因为编译以后它是不存在的。

比如:
__property AnsiString fileName ={read = FFileName,write=SetFileName};

结果编译以后 AnsiString str = class->fileName; 就被改成
AnsiString str = class->FFileName;

当然这样说只是为了描述方便而已啦,FFileName是私有的嘛^_^



class->fileName = "aa";

就被写成

class->SetFileName("aa");

了。
huangjuliang 2003-10-08
  • 打赏
  • 举报
回复
表示是一个属性
fatwave 2003-10-07
  • 打赏
  • 举报
回复
up
wmjzzu 2003-10-07
  • 打赏
  • 举报
回复
如果是自定义了一个类怎么办,我的系统报错为,不属于Form。
zihan 2003-10-01
  • 打赏
  • 举报
回复
BCB的关键字,一个很好用的东西.
nightfallrove 2003-10-01
  • 打赏
  • 举报
回复
__property AnsiString fileName ={read = FFileName,write=SetFileName};
用__property标示是个属性
这样才能用{read = FFileName,write=SetFileName};进行读定
要是你把关键字__property去掉就一定会报错了。
tigerhohoo 2003-09-30
  • 打赏
  • 举报
回复
使用属性进行读写可以直接调用方法,这个是对C++语法的一个扩充.
chengsion 2003-08-03
  • 打赏
  • 举报
回复
谢谢
zihan 2003-08-02
  • 打赏
  • 举报
回复
表示是一个属性,你这里是定义了一个filename的属性,可以读写.一般在写控件的时候经常这样用到
nanhui 2003-08-02
  • 打赏
  • 举报
回复
表示TGetVersionInfoFromFile控件的一个可读写属性

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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

手机看
关注公众号

关注公众号

客服 返回
顶部