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