home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue57 / Construc / Unit2.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  2000-04-04  |  1.6 KB  |  60 lines

  1. unit Unit2;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, ComServ, ComObj, VCLCom, DataBkr,
  5.   DBClient, Project1_TLB, StdVcl, Db, DBTables, Provider;
  6.  
  7. type
  8.   TTDM57 = class(TRemoteDataModule, ITDM57)
  9.     Table1: TTable;
  10.     DataSetProvider1: TDataSetProvider;
  11.     procedure DataSetProvider1BeforeGetRecords(Sender: TObject;
  12.       var OwnerData: OleVariant);
  13.     procedure DataSetProvider1AfterGetRecords(Sender: TObject;
  14.       var OwnerData: OleVariant);
  15.   private
  16.     { Private declarations }
  17.   protected
  18.     class procedure UpdateRegistry(Register: Boolean; const ClassID, ProgID: string); override;
  19.   public
  20.     { Public declarations }
  21.   end;
  22.  
  23. implementation
  24. {$R *.DFM}
  25.  
  26. class procedure TTDM57.UpdateRegistry(Register: Boolean; const ClassID, ProgID: string);
  27. begin
  28.   if Register then
  29.   begin
  30.     inherited UpdateRegistry(Register, ClassID, ProgID);
  31.     EnableSocketTransport(ClassID);
  32.     EnableWebTransport(ClassID);
  33.   end else
  34.   begin
  35.     DisableSocketTransport(ClassID);
  36.     DisableWebTransport(ClassID);
  37.     inherited UpdateRegistry(Register, ClassID, ProgID);
  38.   end;
  39. end;
  40.  
  41. procedure TTDM57.DataSetProvider1BeforeGetRecords(Sender: TObject;
  42.   var OwnerData: OleVariant);
  43. begin
  44.   if OwnerData <> '' then
  45.     with Sender AS TProvider do
  46.       DataSet.Locate('Key',OwnerData, []);
  47. end;
  48.  
  49. procedure TTDM57.DataSetProvider1AfterGetRecords(Sender: TObject;
  50.   var OwnerData: OleVariant);
  51. begin
  52.   with Sender AS TProvider do
  53.     OwnerData := DataSet.RecordCount
  54. end;
  55.  
  56. initialization
  57.   TComponentFactory.Create(ComServer, TTDM57,
  58.     Class_TDM57, ciMultiInstance, tmApartment);
  59. end.
  60.