急!急!急!(20分)

  • 主题发起人 主题发起人 stzy
  • 开始时间 开始时间
S

stzy

Unregistered / Unconfirmed
GUEST, unregistred user!
要在active form关闭时做数据处理,请问应该在哪个事件中加入处理的语句。(在ondestroy中加入语句好象没有反应啊)
 
OnClose?
关闭并不触发OnDestroy,
Free的时候才触发OnDestroy
 
在close之前。
 
对!
OnClose事件。
 
给点提示并写FormCloseQuery事件中在更好些:
procedure TOrdeInfoFrm.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
var
lChoose: Longint;
begin
CanClose := True;
if (cdsOrde.State = dsEdit) or (cdsOrde.State = dsInsert) then
begin
lChoose := Application.MessageBox('定单数据仍在编辑中,是否退出?', '提示',
MB_YESNOCANCEL);
case lChoose of
ID_YES: cdsOrde.Post;
ID_NO: cdsOrde.Cancel;
ID_CANCEL:
begin
CanClose := False;
Exit;
end;
end;
end;
if (cdsOrdeItem.State = dsEdit) or (cdsOrdeItem.State = dsInsert) then
begin
lChoose := Application.MessageBox('定单明细数据仍在编辑中,是否退出?',
'提示',
MB_YESNOCANCEL);
case lChoose of
ID_YES: cdsOrdeItem.Post;
ID_NO: cdsOrdeItem.Cancel;
ID_CANCEL: CanClose := False;
end;
end;
end;
 
对,dez_0609说的对.
 
各为大哥,我说的是Active Form,而不是普通的form,普通的form可以用你们的方法,可是Active Form连onclose事件都没有啊
 
后退
顶部