在上传文件前,我用下面的语句,显示了一个等待窗体FConWait := TFConWait.Create(Application); // 显示等待窗体
FConWait.Show;…… //上传文件的代码if assigned(FConWait) then FreeAndNil(FConWait); //完了后用这句释放等待窗体
上面的代码,在第一次上传时都很正常,在第二次上传时,在FreeAndNil(FConWait);这里报了内存错误,请问怎么写才正确的?
FConWait.Show;…… //上传文件的代码if assigned(FConWait) then FreeAndNil(FConWait); //完了后用这句释放等待窗体
上面的代码,在第一次上传时都很正常,在第二次上传时,在FreeAndNil(FConWait);这里报了内存错误,请问怎么写才正确的?
把你上传的代码去掉,看问题是否还存在我测试了下procedure TForm1.btn1Click(Sender: TObject);
var
fform: TForm;
i: Integer;
begin
fform := TForm.Create(Application);
fform.Show; // 磨点时间
for i := 0 to 999 do
Caption := IntToStr(i); FreeAndNil(fform);
end;没有问题,估计你出问题是在上传的代码里,或是在你TFConWait的定义里顺便说下
FreeAndNil内部会调用free,free内部会判断对象是否为nil,所以assigned(FConWait)是多余的。
当然这跟你出错的问题无关