//我动态创建两个窗体
Form1 := TForm1.Create(Application);
Form2 := TForm1.Create(Application);//然后释放Form1
Form1.Free;//这时Form2也变为nil了
if Form2 <> nil then
ShowMessage('not nil');//请问这到底为什么啊?如果我要像这样创建一个窗体的两个实例应该怎么办?因为Form2创建后Form1的指针就变成野指针了
Form1 := TForm1.Create(Application);
Form2 := TForm1.Create(Application);//然后释放Form1
Form1.Free;//这时Form2也变为nil了
if Form2 <> nil then
ShowMessage('not nil');//请问这到底为什么啊?如果我要像这样创建一个窗体的两个实例应该怎么办?因为Form2创建后Form1的指针就变成野指针了
解决方案 »
- webbrowser1自动填表 单选框 如何选择
- 异常
- 工作需要将图片保存为PSD格式,图片本身只是一个图层,请问哪个控件可以做到?imageen可以吗?
- 我用osql.exe文件持行sql文件,但是不想让用户看到这些sql文件,我能否把这些sql文件放入dll文件内(能否持行),或者我把sql的脚本放入
- 关于windows server 2003下Midas(在线撒分)
- ActivexForm做的控件的调用问题
- 请关注
- 怎么用time控件来控制程序欢迎画面的时间?
- 在DELPHI中怎样用BDE访问ACCESS数据库?
- 求救,怎么实现文件的操作。
- 怎样用delphi实现两个矩阵相乘
- 窗体的滚动条问题
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
form2 :TForm1;
form3 : TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
begin
form2:=TForm1.Create(self);
form3 := TForm1.Create(self);
form2.Show;
form3.Show;
end;procedure TForm1.Button2Click(Sender: TObject);
begin
form2.Free;
end;end.