读书人

区别在哪里解决思路

发布时间: 2012-02-22 19:36:56 作者: rapoo

区别在哪里
__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()中设置一些窗体属性不会有错误产生.

读书人网 >C++ Builder

热点推荐