那么应该如何判断一个Form已经释放了呢?
解决方案 »
- idhttp调用asp上传文件提示500 internal server error
- advstringgrid中SaveColSizes如何使用
- 提示框不能正常显示
- 简单的语法问题
- 菜鸟问题两个:1、fieldbyname('xx').AsFloat:=xxxx; ……每题25分!
- 文本特殊效果的实现? 达人请进!万分感谢.............
- 请关注:串口发送完字符后返回的outbuffer清空消息是否及时可靠!
- 如何在WIN2000读取打印机状态????UP有分啦……………………
- 求教:汉字加密问题,即:把汉字可逆转化为可见的Acii码
- ***********串口通讯问题***************
- 在代码中如何捕捉存储过程中定义的错误?
- delphi如何读取.bin文件?
if assigned(myFormvar) and (myFormvar <> nil) then XXX
button1事件中,
myFormVar:=TFTEST.create;
myFormVar.showModal;执行后,弹出一模特窗口,点关闭(close事件里action := caFree),应该是释放了该Formbutton2事件中,
assigned(myFormvar) 为true
(myFormvar < > nil) 为true
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
if not Assigned(Form2) then
Form2 := TForm2.Create(Application);
if not Form2.Visible then
Form2.Show;
end;end.unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;type
TForm2 = class(TForm)
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;implementation{$R *.dfm}procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;procedure TForm2.FormDestroy(Sender: TObject);
begin
Form2 := nil;
end;end.
myFormVar.showModal;
可以不用CaFree的:myFormVar.Free;
myFormVar := nil;
liuyang你好,因为程序中不是个模特窗口,是个appwindow,以及其它原因,不能在主窗口中free和nil
with TFTEST.Create( Owner ) do
begin
showmodal;
destroy;
end;
真奇怪,如果直接使用Form2变量就可以,如果定义全局变量yyy:TForm2,就不行。
那得要看其宿主对象了,如果是application则是在退出整个程序的时候又application来负责释放的
如果是self或nil则用Freeandnil(yyy)应该可以满足assigned(yyy)为false
你那个
procedure TForm2.FormDestroy(Sender: TObject);
begin
Form2 := nil;
end;
这个Form2:=nil;中的Form2能不能用变量表示