假设有两个菜单项:A,B,分别调用窗体a,b,当第一次(用show)打开a,b窗体时,都能正常打开,问题是,在a、b都打开时,b处于活动窗体状态,此时点击A菜单想把a窗体变为活动窗体,但是没有反应。请问为什么?怎么才能解决?
解决方案 »
- 关于DNGrid和form一同改变大小的问题
- 怎样可以将数据源里的数据存放到记录类型变量中去?
- 能不能在不断开数据库连接的情况下,让dbedit不自动更新到所连字段?
- 师傅们,可否麻烦一下,给我关于一些书的资料
- 求救!在使用存储过程的时候遇到的问题。
- 如何在声音控制中将“全部静音(M)”选中,实现系统静音?在线等候!
- 用socket怎么向指定的端口发送文件,远端服务器不要程序。
- 请教各位好手,关于安装组件的问题
- 各位大哥,拜托拉,小弟第一次发问
- 关于文字大小的问题?
- 如何在DELPHI中调用带参数的存储过程???????
- 急求excel倒入数据到acess(要求:要能把excel指定字段数据导入到已经存在的acess数据库表中)
var
frmResourceIn: TfrmResourceIn;
I : Integer;
begin
if Application.FindComponent('frmResourceIn')=nil Then
begin
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end
else begin
//frmResourceIn.Active := true;
end;
end;
调用窗体的过程。
var
frmResourceIn: TfrmResourceIn;
I : Integer;
begin
if Application.FindComponent('frmResourceIn')=nil Then
begin
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
frmResourceIn.SetFocus;
end
else begin
//frmResourceIn.Active := true;
end;
end;
var
frmResourceIn: TfrmResourceIn;
I : Integer;
begin
if Application.FindComponent('frmResourceIn')=nil Then
begin
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end
else begin
frmResourceIn.SetFocus;
end;
end;
var
frmResourceIn: TfrmResourceIn;
I : Integer;
begin
if Application.FindComponent('frmResourceIn')=nil Then
begin
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end
else begin
frmResourceIn.BringToFront;
end;
end;
var
frmResourceIn: TfrmResourceIn;
//这个是窗体的实例对象,目前可以把他放到外面去定义,成为全局的变量procedure TMainForm.ResourceInExecute(Sender: TObject);
begin
if frmResourceIn = nil Then
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end;
var
frmResourceIn: TfrmResourceIn;
I : Integer;
begin
if Application.FindComponent('frmResourceIn')=nil Then
begin
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end
else begin
frmResourceIn.BringToFront;
end;
end;这种做法有错误,报出抽象错误
Debugger Exception Notification
---------------------------
Project PMS.exe raised exception class EAccessViolation with message 'Access violation at address 005A11A1 in module 'PMS.exe'. Read of address 04C65213'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
procedure TMainForm.ResourceInExecute(Sender: TObject);
var
frmResourceIn: TfrmResourceIn;
I : Integer;
begin
if Application.FindComponent('frmResourceIn')=nil Then
begin
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end
else begin
frmResourceIn.SetFocus;
end;
end;
这种方法也有错
begin
if Application.FindComponent('frmResourceIn')=nil Then
frmResourceIn:= TfrmResourceIn.Create(Application);
frmResourceIn.Show;
end;这样就可以了