小问题,动态建窗体方面
一个窗体是打开的
begin
if not Assigned(Frmadvinsert) then
Frmadvinsert := TFrmadvinsert.Create(Application);
try
frmadvinsert.opemode:= 'insert ';
Frmadvinsert .Caption := '广告信息-添加 ';
Frmadvinsert.Show ;
finally
Frmadvinsert.free;
end;
end;
可是为什么非模态打开一闪就找不到了呀,再点打开就出错,
另外什么时候用非模态?我怎么感觉非模态很不好用呀?
[解决办法]
以非模态显示窗口不能立即Free,如果每次都要动态建立,可响应OnClose事件,将Action设置为caFree就释放了,另外,不能Assigned来判断窗口是否存在,因为Free后,Frmadvinsert并不是nil。
[解决办法]
你可能没看懂try/finally.
finally后的Frmadvinsert.free;是一定执行的
如果是Frmadvinsert.ShowMoadl ; 那么等frmadvinsert.close 后再来执行finally后的Frmadvinsert.free;