RAD Studio VCL Reference
|
Occurs after an application closes a dataset.
property AfterClose: TDataSetNotifyEvent;
__property TDataSetNotifyEvent AfterClose;
Write an AfterClose event handler to take specific action immediately after an application closes a dataset. For example, as a security measure, an application might clear a PASSWORD entry from the Params property of a TSQLConnection component when the dataset is closed.
AfterClose is called after a dataset is closed and the dataset state is set to dsInactive.
Delphi Examples:
{ This example adds an entry to a memo with a message when an AfterOpen event or an AfterClose event occurs. Populate the ClientDataSet events with CheckButtonActive. } procedure TForm1.CheckButtonActive(DataSet: TDataSet); begin if (Button1.Enabled) then Memo2.Lines.Add('Now that the dataset is open, record information is available.') else Memo2.Lines.Add('Now that the dataset is closed, record information is not available.'); Button1.Enabled := not ClientDataSet1.Active; Button2.Enabled := ClientDataSet1.Active; Button3.Enabled := ClientDataSet1.Active; end;
{ The following code fragment illustrates how DataSets and DataSetCount can be used to ensure that an action is taken for every open dataset. Assign CheckButtonActive as the AfterClose and AfterOpen event handlers for TClientDataSet1. } procedure TForm1.Button1Click(Sender: TObject); var I: Integer; begin if not RemoteServer1.Connected then RemoteServer1.Connected := True; ClientDataSet1.Close; with RemoteServer1 do begin for I := 0 to DataSetCount - 1 do DataSets[I].EnableControls; end; ClientDataSet1.Open; end; procedure TForm1.Button3Click(Sender: TObject); var I: Integer; begin ClientDataSet1.Close; RemoteServer1.Connected := False; with RemoteServer1 do begin for I := 0 to DataSetCount - 1 do DataSets[I].DisableControls; end; end; procedure TForm1.CheckButtonActive(DataSet: TDataSet); begin Button1.Enabled := not ClientDataSet1.Active; Button2.Enabled := ClientDataSet1.Active; Button3.Enabled := ClientDataSet1.Active; end;
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
|
What do you think about this topic? Send feedback!
|