首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

区别在哪里解决思路

2012-02-22 
区别在哪里__fastcallTForm1::TForm1(TComponent*Owner):TForm(Owner){这里面在什么情况下写代码}void__fa

区别在哪里
__fastcall       TForm1::TForm1(TComponent*       Owner)      
                                    :       TForm(Owner)      
    {      
            这里面在什么情况下写代码      
    }

void   __fastcall   TForm1::FormCreate(TObject   *Sender)
{
            这里面在什么情况下写代码  
}
他们的区别是什么?

[解决办法]
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
这里面在什么情况下写代码
}

这个是Form类的构造函数 用来初始一些变量如TStringList;
对应的是
__fastcall TForm1::~TForm1()
{
}

例如
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
this-> sg = new TStringList;
}
__fastcall TForm1::~TForm1()
{
delete this-> sg;
}
[解决办法]
void __fastcall TForm1::FormCreate(TObject *Sender)
{
这里面在什么情况下写代码
}
这个只是在Form1这个Form create的时候执行的代码

其他的还有Active Show 等等
[解决办法]
前者窗体显然还没有创建 Form1-> Color=....,会有错误
后者已经创建了,但还未显示出来
[解决办法]
TForm1::TForm1 比 TForm1::FormCreate 先执行, 其它方面差不多了,个人认为初始化还是在TForm1中比较好.

TForm1::TForm1()中设置一些窗体属性不会有错误产生.

热点排行