- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10 - Recompilación en Delphi10 de todos los paquetes de DA para generar las DCU's en Lib\D10 git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@9 b6239004-a887-0f4b-9937-50029ccdca16
80 lines
2.5 KiB
ObjectPascal
80 lines
2.5 KiB
ObjectPascal
unit uDADatasetProvider;
|
|
|
|
{----------------------------------------------------------------------------}
|
|
{ Data Abstract Library - Core Library }
|
|
{ }
|
|
{ compiler: Delphi 6 and up }
|
|
{ platform: Win32 }
|
|
{ }
|
|
{ (c)opyright RemObjects Software. all rights reserved. }
|
|
{ }
|
|
{ Using this code requires a valid license of the Data Abstract }
|
|
{ which can be obtained at http://www.remobjects.com. }
|
|
{----------------------------------------------------------------------------}
|
|
|
|
{$I DataAbstract.inc}
|
|
|
|
interface
|
|
|
|
uses
|
|
Classes, DB, Provider, uDADataTable;
|
|
|
|
type
|
|
{ TDADatasetProvider }
|
|
TDADatasetProvider = class(TDataSetProvider)
|
|
private
|
|
fDataTable: TDADataTable;
|
|
procedure SetDataTable(const Value: TDADataTable);
|
|
function GetDataset: TDataset;
|
|
|
|
protected
|
|
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
|
function InternalGetRecords(Count: Integer; out RecsOut: Integer;
|
|
Options: TGetRecordOptions; const CommandText: WideString;
|
|
var Params: OleVariant): OleVariant; override;
|
|
|
|
published
|
|
property Dataset: TDataset read GetDataset;
|
|
property DataTable: TDADataTable read fDataTable write SetDataTable;
|
|
end;
|
|
|
|
|
|
implementation
|
|
|
|
{ TDADatasetProvider }
|
|
|
|
function TDADatasetProvider.GetDataset: TDataset;
|
|
begin
|
|
result := NIL;
|
|
end;
|
|
|
|
function TDADatasetProvider.InternalGetRecords(Count: Integer;
|
|
out RecsOut: Integer; Options: TGetRecordOptions;
|
|
const CommandText: WideString; var Params: OleVariant): OleVariant;
|
|
begin
|
|
if not DataTable.Active then DataTable.Open;
|
|
|
|
result := inherited InternalGetRecords(Count, RecsOut, Options, CommandText, Params);
|
|
end;
|
|
|
|
procedure TDADatasetProvider.Notification(AComponent: TComponent;
|
|
Operation: TOperation);
|
|
begin
|
|
inherited;
|
|
|
|
if (Operation=opRemove) then begin
|
|
if (aComponent=fDatatable) then fDataTable := NIL;
|
|
end;
|
|
end;
|
|
|
|
procedure TDADatasetProvider.SetDataTable(const Value: TDADataTable);
|
|
begin
|
|
fDataTable := Value;
|
|
if (fDataTable<>NIL) then begin
|
|
fDataTable.FreeNotification(Self);
|
|
inherited Dataset := fDataTable.Dataset;
|
|
end;
|
|
end;
|
|
|
|
end.
|