Delphi 从可用表单列表中选择MainForm
连接到数据库后,是否可以从“可用”表单列表中选择一个表单(作为主表单)?我有一个带有3个“可用”表单的datamodule。目前没有主表单。datamodule是首先创建的。现在,我想根据用户登录到的数据库选择表单,并使其成为主表单。这能做到吗?如何做到 主窗体被认为是通过调用Delphi 从可用表单列表中选择MainForm,delphi,Delphi,连接到数据库后,是否可以从“可用”表单列表中选择一个表单(作为主表单)?我有一个带有3个“可用”表单的datamodule。目前没有主表单。datamodule是首先创建的。现在,我想根据用户登录到的数据库选择表单,并使其成为主表单。这能做到吗?如何做到 主窗体被认为是通过调用Application.CreateForm创建的第一个窗体。因此,将选择逻辑添加到.dpr文件代码中,然后调用Application.CreateForm创建用户选择的任何表单 // .dpr code begin
Application.CreateForm
创建的第一个窗体。因此,将选择逻辑添加到.dpr文件代码中,然后调用Application.CreateForm
创建用户选择的任何表单
// .dpr code
begin
Application.Initialize;
CreateMainForm;
Application.Run;
end.
此处,CreateMainForm
由您提供并实现用户表单选择。可能是这样的:
procedure CreateMainForm;
var
Form: TForm;
FormClass: TFormClass;
begin
FormClass := ChooseMainFormClass;
Application.CreateForm(FormClass, Form);
end;
同样,
chooseMInformClass
是由您提供的 在朝鲜半岛,你可以轻松地做类似的事情
program Project1;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {DM1: TDataModule},
Unit3 in 'Unit3.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Application.CreateForm(TDM1, DM1);
case DM1.ChooseForm of
1: Application.CreateForm(TForm1, Form1);
else Application.CreateForm(TForm2, Form2);
end;
Application.Run;
end.
在本例中,首先创建datamodule。创建后,您可以使用datamodule中的逻辑。在datamodule中,我创建了一个公共函数,该函数返回一个整数以确定要加载的表单。(实际上,我不会依赖幻数)它不必在DPR中。在调用Application.Run之前,在代码中的某个地方首次调用Application.CreateForm即可。@Uwe Yes。但是您肯定需要修改dpr文件。