我以前是设计在OnCreat里面调用‘主窗体.hide’,但是程序提示Cannot change Visible in OnShow or OnHide,现在OnShow里面调用也一样出错,为什么?我是把主窗体设置成主窗体,程序一运行不就创建了主窗体吗?列表框的问题解决了,呵呵,没想到和VB一样的,当时我迷糊了:)
大虾们,帮忙看看呀,怎么会提示‘Cannot change Visible in OnShow or OnHide’?
登陆窗体应该ShowModal 这样就点不到主窗体了。
ShowModal是窗体属性吗,怎么找不到?sorry,我是刚学
在工程文件里控制,给你个例子: program Project1;uses Forms, main_try in 'main_try.pas' {main}, wait_sys in 'wait_sys.pas' {wait}, about_sys in 'about_sys.pas' {about}, login_zj in 'login_zj.pas' {login}, db_zj in 'db_zj.pas' {cldbf: TDataModule};{$R *.res}begin Application.Initialize; wait:=Twait.create(application); wait.ProgressBar1.Max:=100; wait.Show; application.ProcessMessages; /////////// wait.Update; // wait.name_lbl.Caption:='读取参数...'; wait.company_lbl.Caption:='正在初始化...'; wait.update; Application.CreateForm(Tmain, main); wait.ProgressBar1.StepBy(25); wait.company_lbl.Caption:='正在建立数据库连接...'; wait.update; Application.CreateForm(Tcldbf, cldbf); wait.ProgressBar1.StepBy(50); if main.door then begin wait.company_lbl.Caption:='数据库连接成功!'; wait.update; Application.CreateForm(Tabout, about); login:=Tlogin.Create(application); //输入用户名密码窗体 wait.ProgressBar1.StepBy(25); wait.hide; wait.free; login.ShowModal; if login.con then begin Application.Run; end; end else Application.Terminate; end.
这样就点不到主窗体了。
program Project1;uses
Forms,
main_try in 'main_try.pas' {main},
wait_sys in 'wait_sys.pas' {wait},
about_sys in 'about_sys.pas' {about},
login_zj in 'login_zj.pas' {login},
db_zj in 'db_zj.pas' {cldbf: TDataModule};{$R *.res}begin
Application.Initialize;
wait:=Twait.create(application);
wait.ProgressBar1.Max:=100; wait.Show;
application.ProcessMessages; ///////////
wait.Update;
// wait.name_lbl.Caption:='读取参数...';
wait.company_lbl.Caption:='正在初始化...';
wait.update;
Application.CreateForm(Tmain, main);
wait.ProgressBar1.StepBy(25);
wait.company_lbl.Caption:='正在建立数据库连接...';
wait.update;
Application.CreateForm(Tcldbf, cldbf);
wait.ProgressBar1.StepBy(50);
if main.door then
begin
wait.company_lbl.Caption:='数据库连接成功!';
wait.update;
Application.CreateForm(Tabout, about); login:=Tlogin.Create(application); //输入用户名密码窗体
wait.ProgressBar1.StepBy(25);
wait.hide;
wait.free; login.ShowModal;
if login.con then
begin
Application.Run;
end;
end
else Application.Terminate;
end.