unit fOMAction; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, fAutoSz, rOrders; type TCallOnExit = procedure; TfrmOMAction = class(TfrmAutoSz) procedure FormDestroy(Sender: TObject); private FCallOnExit: TCallOnExit; FOrderDialog: Integer; FRefNum: Integer; FAbortAction: boolean; protected procedure InitDialog; virtual; public property CallOnExit: TCallOnExit read FCallOnExit write FCallOnExit; property OrderDialog: Integer read FOrderDialog write FOrderDialog; property RefNum: Integer read FRefNum write FRefNum; property AbortAction: boolean read FAbortAction write FAbortAction; end; var frmOMAction: TfrmOMAction; implementation {$R *.DFM} uses uConst; procedure TfrmOMAction.FormDestroy(Sender: TObject); begin if Assigned(FCallOnExit) then FCallOnExit; if (Owner <> nil) and (Owner is TWinControl) then SendMessage(TWinControl(Owner).Handle, UM_DESTROY, FRefNum, 0); inherited; end; procedure TfrmOMAction.InitDialog; begin FAbortAction := False; end; end.