我RUN的时候弹出一个对话框
上面这样写的
Project Project1.exe raised exception class EInvalidOperation with message 'cannot change visible in onshow or onhide'.Process stopped. Use Step or Run to continue.
这是怎么回事啊
我没在ONSHOW 和INHIDE里面改变visible的属性啊
是什么地方出了错误啊
该怎么解决??
上面这样写的
Project Project1.exe raised exception class EInvalidOperation with message 'cannot change visible in onshow or onhide'.Process stopped. Use Step or Run to continue.
这是怎么回事啊
我没在ONSHOW 和INHIDE里面改变visible的属性啊
是什么地方出了错误啊
该怎么解决??
procedure TForm1.FormShow(Sender: TObject);
begin
Visible := False;
end;//看如下语句是否能达到你的目的
procedure TForm1.FormCreate(Sender: TObject);
begin
Application.ShowMainForm := False;
end;VCL中由如下代码触发该异常
procedure TCustomForm.CMShowingChanged(var Message: TMessage);
//....
begin
if not (csDesigning in ComponentState) and (fsShowing in FFormState) then
raise EInvalidOperation.Create(SVisibleChanged);
//....
end;
//OnShow、OnHide中都处于fsShowing状态
panel1.Show;
panel2.Hide;
panel3.Hide;
panel1.BringToFront;
dbgrid2.Hide;
dbgrid3.Hide;
dbgrid1.Show;
dbgrid1.Align:=alclient;end;procedure Tmain.N28Click(Sender: TObject);begin
panel1.Show;
panel2.Hide;
panel3.Hide;
panel1.BringToFront;
dbgrid1.Hide;
dbgrid2.Hide;
dbgrid3.Show;
dbgrid3.Align:=alclient;end;
这样是不是就会出现
//OnShow、OnHide中都处于fsShowing状态
这个问题