妖哥网站上的代码,怎么不行呢?
一、VCL的原生方法简单易用:
1、 RegisterClass(__classid(TForm1));
必须要先注册,否则FindClass找不到这个类。这一步可以创建一个注册单元,将所有要生成的Form注册进去。
2、 TClass aClass = FindClass("TForm1");
TClass是从类名称生成实例的桥梁。
3、 TForm *Form = NULL;
Application->CreateForm(aClass,Form);
BCB用这种方法生成类实例。其Owner是Application , 当然也可以改变Owner。在生成实例这点,Delphi有着先天的优势,Delphi的代码更简单明了。
下面代码报错了
void __fastcall TForm1::Button6Click(TObject *Sender)
{
RegisterClass(__classid(TForm1));
TClass aClass = FindClass("TForm1");
TForm1 *Form = NULL;
Application->CreateForm(aClass,Form);
}