我把窗体的类名存在数据库中,如何创建它?

COMPUTERZZZ 2009-06-05 05:29:50
我把窗体的类名存在数据库中,如何创建它?
我的程序如下:
//取程序号
ClassName:=mListItem.SubItems[1];
FFrmName:=ClassName;

// ClassName:= 'Form2'; //从数据库取出窗体名,如: s:= ADODataSet.FieldValue['窗体'];
// if self.IsFormExist then
// MyForm.BringToFront
// else
// begin
MyForm:= TForm.Create(self);
//MyForm.FormStyle:=fsMDIChild;
// MyForm.ParentWindow:=self.Handle;
MyForm.Name:= Classname;
MyForm.ShowModal;
FreeAndNil(MyForm);

这样出来的只是一个空白的窗体,不是我自已做的窗体!!!
...全文
21 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
icyf 2009-06-06
  • 打赏
  • 举报
回复
var
AFormClass:TComponentClass;//TFormClass也可以。
AForm: TForm;
begin
AFormClass := TComponentClass(GetClass('TSomeFormClassName'));//如果用FindClass的话,TSomeFormClassName又没有注册,则会抛出一个异常
if AFormClass <> nil then
begin
Application.CreateForm(AFormClass,AForm);
AForm.Show;
end;
end;

不得闲 2009-06-06
  • 打赏
  • 举报
回复
TFormClass(GetClass('类名')).Create(nil)
还是江筱吧 2009-06-06
  • 打赏
  • 举报
回复
估计要用到数组,只是有个想法而已。
COMPUTERZZZ 2009-06-05
  • 打赏
  • 举报
回复
这个跟我的不一样呀,我是用动态生成菜单,然后在点菜单时,又从数据库中找到窗体类名,创建对应窗体!

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧