[Warning] ufr_main.pas(53): Variable 'emp_form' might not have been initialized有什么办法可以避免这个警告现出现吗?尽管编译还是可以通过?或者说应该如何改下面的代码?procedure Tmainform.B01_CPClick(Sender: TObject);
var
emp_form: Tfrm_emp;
begin
if not empformisrunning then
begin
Tfrm_emp.Create(emp_form);
empformisrunning := true;
end
else
try
emp_form.Show;
except
end;
end;
var
emp_form: Tfrm_emp;
begin
if not empformisrunning then
begin
Tfrm_emp.Create(emp_form);
empformisrunning := true;
end
else
try
emp_form.Show;
except
end;
end;
解决方案 »
- dbgrid.columns下的add all fields为灰色不可用
- 网站字符集转换.delphi调用记事本打开另存?
- 用Delphi设计图书管理系统 错误不知道怎么改~望高手能教我下
- 买本本
- 关于删除DBF表记录~~~~~不明白什么错误~
- TImageList.Add超过1303个的时候就会失败?
- dbgrig里面的数据怎么样做连接啊?
- 急急急!怎么样将一个image的bmp文件保存在数据库中
- 请问各位大虾,ADOTABLE.refresh 怎么老是出现“缺少更新或者刷新的键列信息”
- 成长的烦恼
- 我想学习用DELPHI进行EXCEL的开发,哪儿有最详细的资料,谢谢!!
- 请教:如何做二次查询?Delphi + ADO + Sql server
var
emp_form: Tfrm_emp;
begin
if not empformisrunning then
begin
emp_form := Tfrm_emp.Create(Application); //是不是应该这样
empformisrunning := true;
end
else
try
emp_form.Show;
except
end;
end;
var
Form2: TForm2;
begin
try
Form2 := TForm2.Create(nil);
Form2.ShowModal;
finally
FreeAndNil(Form2);
end;
end;
这是一种方式
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
Form2: TForm2;
public
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if (not Assigned(Form2)) or (not Form2.Showing) then
Form2 := TForm2.Create(nil);
Form2.Show;
end;procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;这是另外一种方式
主要是Show造成了这种情况
应该定义全局变量和作为类的变量
这么快就结贴
既然你采用这种方式
就应该将Options...->AutoCreate Forms中的除主窗体全部移去还有就是在非主窗体中
已经定义了一个该窗体类的全局变量
就看你怎么用了