我使用的是Delphi5
我在做一个程序时发现,如果Form1动态调用Form2,而Form2再动态调用Form3,那么在form3中调用form2的stringlist时出现存取错误,但form2的stringlist此时尚未释放
form2调用form1的stringlist就没事请教各位同行原因,是否是Delphi5的BUG还是故意为之,或者是我机器的毛病?
我在做一个程序时发现,如果Form1动态调用Form2,而Form2再动态调用Form3,那么在form3中调用form2的stringlist时出现存取错误,但form2的stringlist此时尚未释放
form2调用form1的stringlist就没事请教各位同行原因,是否是Delphi5的BUG还是故意为之,或者是我机器的毛病?
放在form2.Create里就不会有你说的问题吧
1.form1 form2 form3是否是一个类的三个实例?
2.他们之间是如何调用的?
3.每个中的Tstringlist是什么时候被创建什么时候被释放的?
Form2 := TForm2.Create(nil);
with Form2 do begin
ShowModal;
Free;
end;
看来问题是出在动态调用上,用jlutt的方式调用,结果不出错了
见谅,没贴出代码,我动态调用时用的是
with form2.create(nil) do
begin
showmodal;
free;
end;
没有给from2这个全局变量赋值,哈哈,丢人丢人