我正在构建一个使用DB填充菜单的应用程序。我可以创建菜单项,但我无法链接" On Click"特定形式的事件。我已经在我的数据库中存储了表单类的名称,并尝试使用RTTI在运行时绑定它们。以下是我试图运行的代码片段。
__fastcall TfrmMainMDI::TfrmMainMDI(TComponent *Owner)
: TForm(Owner)
{
// Register 2 form classes
RegisterClass(__classid(TfrmSecurity));
RegisterClass(__classid(TfrmPassword));
}
现在,当我尝试运行以下代码来调用表单时,它会提供"访问冲突"错误。
TForm *frm = (TForm*)TFormClass(FindClass(formName));
UnicodeString str = frm->Name;
frm->Show();
答案 0 :(得分:0)
这样做:
TForm *frm = 0;
Application->CreateForm( TFormClass(FindClass(formName)), &frm );
然后,如果frm
不为空,
frm->Show();
答案 1 :(得分:0)
TForm *frm = new TForm(this);
if( frm != NULL )
{
frm->ShowModal();
//or
frm->Show();
}