Class TSelfRefreshTable (unit Refresh)

Inherits from

TTable

Version 2.33 Aug-23-1997 (C) 1997 Christoph R. Kirchner TSelfRefreshTable is a TTable-descendant that uses BDE-Callbacks to refresh itself if the table got modified by another program or by another TDataset-component in the same application. Delphi 1: Paradox tables only. Delphi >= 2.0: Paradox and dBase tables, Interbase tables get the refresh-event only inside the application, others not tested yet. The author assumes no liability for damages and disclaims all warranties. See disclaimer in Readme.txt. Please forward any comments or suggestions to Christoph Kirchner at: ckirchner@geocities.com

Constructors


constructor Create(AOwner: TComponent);

TSelfRefreshTable ---------------------------------------------------------


Functions

destructor Destroy;

Delphi 2.

procedure DoRefresh(Dataset: TDataset; var Done: Boolean);


procedure CloseCursor;


procedure DisableRefresh;


procedure DoAfterOpen;


procedure DoAfterRefresh;


procedure DoBeforeRefresh;


procedure EnableRefresh;


function RefreshCallBack(CBInfo: Pointer): CBRType;

Delphi 2.

procedure SetSelfRefreshEnabled(Value: Boolean);


Properties

property AfterRefresh : TDataSetNotifyEvent


property BeforeRefresh : TDataSetNotifyEvent


property SelfRefreshEnabled : Boolean


Events

Variables

FAfterRefresh : TDataSetNotifyEvent;


FBeforeRefresh : TDataSetNotifyEvent;


FCSDesigningAndOwnerIsDataModule : Boolean;

Delphi 2.

FSelfRefreshEnabled : Boolean;



Constructors


constructor Create(AOwner: TComponent);

TSelfRefreshTable ---------------------------------------------------------


Functions


destructor Destroy;

Delphi 2.0 bug workaround:


procedure DoRefresh(Dataset: TDataset; var Done: Boolean);


procedure CloseCursor;


procedure DisableRefresh;


procedure DoAfterOpen;


procedure DoAfterRefresh;


procedure DoBeforeRefresh;


procedure EnableRefresh;


function RefreshCallBack(CBInfo: Pointer): CBRType;

Delphi 2.0 bug workaround:


procedure SetSelfRefreshEnabled(Value: Boolean);


Properties


property AfterRefresh : TDataSetNotifyEvent


property BeforeRefresh : TDataSetNotifyEvent


property SelfRefreshEnabled : Boolean


Events


Variables


FAfterRefresh : TDataSetNotifyEvent;


FBeforeRefresh : TDataSetNotifyEvent;


FCSDesigningAndOwnerIsDataModule : Boolean;

Delphi 2.0 bug workaround: If Delphi 2 is closing, the ComponentState-flag csDesigning gets removed from the Datasets before they get destroyed - but only if the Owner is a TDataModule. We don't want to call DisableRefresh in this case:


FSelfRefreshEnabled : Boolean;