DB を使用してメニューにデータを入力するアプリケーションを構築しています。メニュー項目を作成できますが、「クリック時」イベントを特定のフォームにリンクするのに問題があります。フォーム クラスの名前を DB に保存し、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();