1、 我建了一个MDI工程,使用edit无法设置passwordchar属性,这个问题怎么解决啊?
2、假如建一个普通的application,我将一个form1的formstyle设为fsMDIform,另一个form2的formstyle设为fsMDIchild,form1能够生成,但在form1中使用create()创建form2时产生一个“NO MDI FORM ACTIVE”的错误,我没有理解这是为什么,该如何解决呢?
2、假如建一个普通的application,我将一个form1的formstyle设为fsMDIform,另一个form2的formstyle设为fsMDIchild,form1能够生成,但在form1中使用create()创建form2时产生一个“NO MDI FORM ACTIVE”的错误,我没有理解这是为什么,该如何解决呢?
2.procedure TForm1.Button1Click(Sender: TObject);
begin
form2 := Tform2.Create(Application);
form2.Show;
end;
1)密码登录界面:
procedure Tfrm_Login.btn_enterClick(Sender: TObject);
var
frm_Main : Tfrm_Main;
begin
frm_Main:= Tfrm_Main.Create(application); frm_Login.Free;
end;
2)frm-main界面: //frm_main的formstyle属性为 fsMDIForm
procedure Tfrm_Main.Mu_BeginClick(Sender: TObject);
begin
PRO_CallCenterStart();
end;procedure Tfrm_Main.PRO_CallCenterStart;
var
frmCHILD:TfrmCHILD; //frmCHILD的formstyle属性为 fsMDICHILD
begin
frmCHILD:=TfrmCHILD.Create(application);
end;
procedure TMainForm.FormActivate(Sender: TObject);
begin
try
frm_Login:= Tfrm_Login.Create(Application);
frm_Login.ShowModal;
finally
frm_Login.Free;
end;
end;-------------------------
procedure Tfrm_Login.btn_enterClick(Sender: TObject);
或者把这个定义去掉试试
var
frm_Main : Tfrm_Main;
var
frm : Tform
......
frm := Tform.create(application);
这个要看需要的,象MDI application 中它是为了能继承一个TMDIchild【动态】创建多个实例。这样就不需要做N个MDIchild的。但是mainfrm不需要这么创建。
其它为[availabel forms]
1.在frmLogin创建
var frmlogin : Tfrmlogin
Function CreateLoginfrm : boolean; ....
Function CreateLoginfrm : boolean;
begin
result := False;
frmlogin:= Tfrmlogin.Create(Application);
frmlogin.ShowModal;
if frmlogin.ModalResult = mrok then
result := True;
end;
然后在密码验证以后设置。frmlogin.modalresult := mrok
2.在你的工程文件总加上
if createfrmlogin then
Application.CreateForm(Tfrmmain, frmmain);
位置:
var frmlogin : Tfrmlogin
Function CreateLoginfrm : boolean;
implementation
{$R *.dfm}
.....................
program Mdiapp;uses
Forms,
MAIN in 'MAIN.PAS' {MainForm},
CHILDWIN in 'CHILDWIN.PAS' {MDIChild},
about in 'about.pas' {AboutBox},
Login in 'Login.pas' {frm_Login},
CallFuc in 'CallFuc.pas';{$R *.RES}begin
Application.Initialize;
if createfrmlogin then
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
是 createloginfrm 不是 createfrmlogin