home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 October / Chip_2001-10_cd1.bin / zkuste / delphi / nastroje / d23456 / SPLBASE.ZIP / Splbase / Activex / SplBaseXControl1_TLB.pas < prev    next >
Pascal/Delphi Source File  |  2001-08-05  |  15KB  |  485 lines

  1. unit SplBaseXControl1_TLB;
  2.  
  3. { This file contains pascal declarations imported from a type library.
  4.   This file will be written during each import or refresh of the type
  5.   library editor.  Changes to this file will be discarded during the
  6.   refresh process. }
  7.  
  8. { SplBaseXControl1 Library }
  9. { Version 1.0 }
  10.  
  11. interface
  12.  
  13. uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL;
  14.  
  15. const
  16.   LIBID_SplBaseXControl1: TGUID = '{411694A0-76FD-11D5-BB64-00A0CC73AEB8}';
  17.  
  18. const
  19.  
  20. { TxAlignment }
  21.  
  22.   taLeftJustify = 0;
  23.   taRightJustify = 1;
  24.   taCenter = 2;
  25.  
  26. { TxBiDiMode }
  27.  
  28.   bdLeftToRight = 0;
  29.   bdRightToLeft = 1;
  30.   bdRightToLeftNoAlign = 2;
  31.   bdRightToLeftReadingOnly = 3;
  32.  
  33. const
  34.  
  35. { Component class GUIDs }
  36.   Class_SplBaseX: TGUID = '{411694A5-76FD-11D5-BB64-00A0CC73AEB8}';
  37.  
  38. type
  39.  
  40. { Forward declarations: Interfaces }
  41.   ISplBaseX = interface;
  42.   ISplBaseXDisp = dispinterface;
  43.   ISplBaseXEvents = dispinterface;
  44.  
  45. { Forward declarations: CoClasses }
  46.   SplBaseX = ISplBaseX;
  47.  
  48. { Forward declarations: Enums }
  49.   TxAlignment = TOleEnum;
  50.   TxBiDiMode = TOleEnum;
  51.  
  52. { Dispatch interface for SplBaseX Control }
  53.  
  54.   ISplBaseX = interface(IDispatch)
  55.     ['{411694A1-76FD-11D5-BB64-00A0CC73AEB8}']
  56.     function getrec(const idx: WideString): WordBool; safecall;
  57.     function initspl: WordBool; safecall;
  58.     function releasespl: WordBool; safecall;
  59.     function initbase: WordBool; safecall;
  60.     function activedb: WordBool; safecall;
  61.     function activerec: WordBool; safecall;
  62.     function dbempty: WordBool; safecall;
  63.     function reccount: Integer; safecall;
  64.     function createspl(const splname: WideString): WordBool; safecall;
  65.     function openspl(const splname: WideString): WordBool; safecall;
  66.     function addrec(const idx: WideString): WordBool; safecall;
  67.     function setspl(const spldat: WideString): WordBool; safecall;
  68.     function addfield(const recdat: WideString; pos: Integer): WordBool; safecall;
  69.     function getfield(pos: Integer): WideString; safecall;
  70.     function delrec: WordBool; safecall;
  71.     function modrec(const idx: WideString): WordBool; safecall;
  72.     function firstrec: WordBool; safecall;
  73.     function lastrec: WordBool; safecall;
  74.     function nextrec: WordBool; safecall;
  75.     function prevrec: WordBool; safecall;
  76.     function Get_Reclimit: Integer; safecall;
  77.     procedure Set_Reclimit(Value: Integer); safecall;
  78.     function Get_CurrentDB: WideString; safecall;
  79.     procedure Set_CurrentDB(const Value: WideString); safecall;
  80.     function Get_FieldCount: Integer; safecall;
  81.     function Get_ErrorNumber: Integer; safecall;
  82.     function Get_ErrorString: WideString; safecall;
  83.     function Get_DoubleBuffered: WordBool; safecall;
  84.     procedure Set_DoubleBuffered(Value: WordBool); safecall;
  85.     procedure FlipChildren(AllLevels: WordBool); safecall;
  86.     function DrawTextBiDiModeFlags(Flags: Integer): Integer; safecall;
  87.     function DrawTextBiDiModeFlagsReadingOnly: Integer; safecall;
  88.     function Get_Enabled: WordBool; safecall;
  89.     procedure Set_Enabled(Value: WordBool); safecall;
  90.     function GetControlsAlignment: TxAlignment; safecall;
  91.     procedure InitiateAction; safecall;
  92.     function IsRightToLeft: WordBool; safecall;
  93.     function UseRightToLeftAlignment: WordBool; safecall;
  94.     function UseRightToLeftReading: WordBool; safecall;
  95.     function UseRightToLeftScrollBar: WordBool; safecall;
  96.     function Get_BiDiMode: TxBiDiMode; safecall;
  97.     procedure Set_BiDiMode(Value: TxBiDiMode); safecall;
  98.     function Get_Visible: WordBool; safecall;
  99.     procedure Set_Visible(Value: WordBool); safecall;
  100.     function Get_Cursor: Smallint; safecall;
  101.     procedure Set_Cursor(Value: Smallint); safecall;
  102.     function ClassNameIs(const Name: WideString): WordBool; safecall;
  103.     property Reclimit: Integer read Get_Reclimit write Set_Reclimit;
  104.     property CurrentDB: WideString read Get_CurrentDB write Set_CurrentDB;
  105.     property FieldCount: Integer read Get_FieldCount;
  106.     property ErrorNumber: Integer read Get_ErrorNumber;
  107.     property ErrorString: WideString read Get_ErrorString;
  108.     property DoubleBuffered: WordBool read Get_DoubleBuffered write Set_DoubleBuffered;
  109.     property Enabled: WordBool read Get_Enabled write Set_Enabled;
  110.     property BiDiMode: TxBiDiMode read Get_BiDiMode write Set_BiDiMode;
  111.     property Visible: WordBool read Get_Visible write Set_Visible;
  112.     property Cursor: Smallint read Get_Cursor write Set_Cursor;
  113.   end;
  114.  
  115. { DispInterface declaration for Dual Interface ISplBaseX }
  116.  
  117.   ISplBaseXDisp = dispinterface
  118.     ['{411694A1-76FD-11D5-BB64-00A0CC73AEB8}']
  119.     function getrec(const idx: WideString): WordBool; dispid 1;
  120.     function initspl: WordBool; dispid 2;
  121.     function releasespl: WordBool; dispid 3;
  122.     function initbase: WordBool; dispid 4;
  123.     function activedb: WordBool; dispid 5;
  124.     function activerec: WordBool; dispid 6;
  125.     function dbempty: WordBool; dispid 7;
  126.     function reccount: Integer; dispid 8;
  127.     function createspl(const splname: WideString): WordBool; dispid 9;
  128.     function openspl(const splname: WideString): WordBool; dispid 10;
  129.     function addrec(const idx: WideString): WordBool; dispid 11;
  130.     function setspl(const spldat: WideString): WordBool; dispid 12;
  131.     function addfield(const recdat: WideString; pos: Integer): WordBool; dispid 13;
  132.     function getfield(pos: Integer): WideString; dispid 14;
  133.     function delrec: WordBool; dispid 15;
  134.     function modrec(const idx: WideString): WordBool; dispid 16;
  135.     function firstrec: WordBool; dispid 17;
  136.     function lastrec: WordBool; dispid 18;
  137.     function nextrec: WordBool; dispid 19;
  138.     function prevrec: WordBool; dispid 20;
  139.     property Reclimit: Integer dispid 21;
  140.     property CurrentDB: WideString dispid 22;
  141.     property FieldCount: Integer readonly dispid 23;
  142.     property ErrorNumber: Integer readonly dispid 24;
  143.     property ErrorString: WideString readonly dispid 25;
  144.     property DoubleBuffered: WordBool dispid 28;
  145.     procedure FlipChildren(AllLevels: WordBool); dispid 29;
  146.     function DrawTextBiDiModeFlags(Flags: Integer): Integer; dispid 32;
  147.     function DrawTextBiDiModeFlagsReadingOnly: Integer; dispid 33;
  148.     property Enabled: WordBool dispid -514;
  149.     function GetControlsAlignment: TxAlignment; dispid 34;
  150.     procedure InitiateAction; dispid 36;
  151.     function IsRightToLeft: WordBool; dispid 37;
  152.     function UseRightToLeftAlignment: WordBool; dispid 42;
  153.     function UseRightToLeftReading: WordBool; dispid 43;
  154.     function UseRightToLeftScrollBar: WordBool; dispid 44;
  155.     property BiDiMode: TxBiDiMode dispid 45;
  156.     property Visible: WordBool dispid 46;
  157.     property Cursor: Smallint dispid 47;
  158.     function ClassNameIs(const Name: WideString): WordBool; dispid 51;
  159.   end;
  160.  
  161. { Events interface for SplBaseX Control }
  162.  
  163.   ISplBaseXEvents = dispinterface
  164.     ['{411694A3-76FD-11D5-BB64-00A0CC73AEB8}']
  165.     procedure OnCreateError; dispid 1;
  166.     procedure OnOpenError; dispid 2;
  167.     procedure OnReadError; dispid 3;
  168.     procedure OnWriteError; dispid 4;
  169.   end;
  170.  
  171. { SplBaseX Control }
  172.  
  173.   TSplBaseX = class(TOleControl)
  174.   private
  175.     FOnCreateError: TNotifyEvent;
  176.     FOnOpenError: TNotifyEvent;
  177.     FOnReadError: TNotifyEvent;
  178.     FOnWriteError: TNotifyEvent;
  179.     FIntf: ISplBaseX;
  180.     function GetControlInterface: ISplBaseX;
  181.   protected
  182.     procedure CreateControl;
  183.     procedure InitControlData; override;
  184.     function GetTOleEnumProp(Index: Integer): TOleEnum;
  185.     procedure SetTOleEnumProp(Index: Integer; Value: TOleEnum);
  186.   public
  187.     function getrec(const idx: WideString): WordBool;
  188.     function initspl: WordBool;
  189.     function releasespl: WordBool;
  190.     function initbase: WordBool;
  191.     function activedb: WordBool;
  192.     function activerec: WordBool;
  193.     function dbempty: WordBool;
  194.     function reccount: Integer;
  195.     function createspl(const splname: WideString): WordBool;
  196.     function openspl(const splname: WideString): WordBool;
  197.     function addrec(const idx: WideString): WordBool;
  198.     function setspl(const spldat: WideString): WordBool;
  199.     function addfield(const recdat: WideString; pos: Integer): WordBool;
  200.     function getfield(pos: Integer): WideString;
  201.     function delrec: WordBool;
  202.     function modrec(const idx: WideString): WordBool;
  203.     function firstrec: WordBool;
  204.     function lastrec: WordBool;
  205.     function nextrec: WordBool;
  206.     function prevrec: WordBool;
  207.     procedure FlipChildren(AllLevels: WordBool);
  208.     function DrawTextBiDiModeFlags(Flags: Integer): Integer;
  209.     function DrawTextBiDiModeFlagsReadingOnly: Integer;
  210.     function GetControlsAlignment: TxAlignment;
  211.     procedure InitiateAction;
  212.     function IsRightToLeft: WordBool;
  213.     function UseRightToLeftAlignment: WordBool;
  214.     function UseRightToLeftReading: WordBool;
  215.     function UseRightToLeftScrollBar: WordBool;
  216.     function ClassNameIs(const Name: WideString): WordBool;
  217.     property ControlInterface: ISplBaseX read GetControlInterface;
  218.     property FieldCount: Integer index 23 read GetIntegerProp;
  219.     property ErrorNumber: Integer index 24 read GetIntegerProp;
  220.     property ErrorString: WideString index 25 read GetWideStringProp;
  221.     property DoubleBuffered: WordBool index 28 read GetWordBoolProp write SetWordBoolProp;
  222.     property Enabled: WordBool index -514 read GetWordBoolProp write SetWordBoolProp;
  223.     property BiDiMode: TxBiDiMode index 45 read GetTOleEnumProp write SetTOleEnumProp;
  224.     property Visible: WordBool index 46 read GetWordBoolProp write SetWordBoolProp;
  225.   published
  226.     property TabStop;
  227.     property Align;
  228.     property DragCursor;
  229.     property DragMode;
  230.     property ParentShowHint;
  231.     property PopupMenu;
  232.     property ShowHint;
  233.     property TabOrder;
  234.     property OnDragDrop;
  235.     property OnDragOver;
  236.     property OnEndDrag;
  237.     property OnEnter;
  238.     property OnExit;
  239.     property OnStartDrag;
  240.     property Reclimit: Integer index 21 read GetIntegerProp write SetIntegerProp stored False;
  241.     property CurrentDB: WideString index 22 read GetWideStringProp write SetWideStringProp stored False;
  242.     property Cursor: Smallint index 47 read GetSmallintProp write SetSmallintProp stored False;
  243.     property OnCreateError: TNotifyEvent read FOnCreateError write FOnCreateError;
  244.     property OnOpenError: TNotifyEvent read FOnOpenError write FOnOpenError;
  245.     property OnReadError: TNotifyEvent read FOnReadError write FOnReadError;
  246.     property OnWriteError: TNotifyEvent read FOnWriteError write FOnWriteError;
  247.   end;
  248.  
  249. procedure Register;
  250.  
  251. implementation
  252.  
  253. uses ComObj;
  254.  
  255. procedure TSplBaseX.InitControlData;
  256. const
  257.   CEventDispIDs: array[0..3] of Integer = (
  258.     $00000001, $00000002, $00000003, $00000004);
  259.   CControlData: TControlData = (
  260.     ClassID: '{411694A5-76FD-11D5-BB64-00A0CC73AEB8}';
  261.     EventIID: '{411694A3-76FD-11D5-BB64-00A0CC73AEB8}';
  262.     EventCount: 4;
  263.     EventDispIDs: @CEventDispIDs;
  264.     LicenseKey: nil;
  265.     Flags: $00000008;
  266.     Version: 300);
  267. begin
  268.   ControlData := @CControlData;
  269. end;
  270.  
  271. procedure TSplBaseX.CreateControl;
  272.  
  273.   procedure DoCreate;
  274.   begin
  275.     FIntf := IUnknown(OleObject) as ISplBaseX;
  276.   end;
  277.  
  278. begin
  279.   if FIntf = nil then DoCreate;
  280. end;
  281.  
  282. function TSplBaseX.GetControlInterface: ISplBaseX;
  283. begin
  284.   CreateControl;
  285.   Result := FIntf;
  286. end;
  287.  
  288. function TSplBaseX.GetTOleEnumProp(Index: Integer): TOleEnum;
  289. begin
  290.   Result := GetIntegerProp(Index);
  291. end;
  292.  
  293. procedure TSplBaseX.SetTOleEnumProp(Index: Integer; Value: TOleEnum);
  294. begin
  295.   SetIntegerProp(Index, Value);
  296. end;
  297.  
  298. function TSplBaseX.getrec(const idx: WideString): WordBool;
  299. begin
  300.   CreateControl;
  301.   Result := FIntf.getrec(idx);
  302. end;
  303.  
  304. function TSplBaseX.initspl: WordBool;
  305. begin
  306.   CreateControl;
  307.   Result := FIntf.initspl;
  308. end;
  309.  
  310. function TSplBaseX.releasespl: WordBool;
  311. begin
  312.   CreateControl;
  313.   Result := FIntf.releasespl;
  314. end;
  315.  
  316. function TSplBaseX.initbase: WordBool;
  317. begin
  318.   CreateControl;
  319.   Result := FIntf.initbase;
  320. end;
  321.  
  322. function TSplBaseX.activedb: WordBool;
  323. begin
  324.   CreateControl;
  325.   Result := FIntf.activedb;
  326. end;
  327.  
  328. function TSplBaseX.activerec: WordBool;
  329. begin
  330.   CreateControl;
  331.   Result := FIntf.activerec;
  332. end;
  333.  
  334. function TSplBaseX.dbempty: WordBool;
  335. begin
  336.   CreateControl;
  337.   Result := FIntf.dbempty;
  338. end;
  339.  
  340. function TSplBaseX.reccount: Integer;
  341. begin
  342.   CreateControl;
  343.   Result := FIntf.reccount;
  344. end;
  345.  
  346. function TSplBaseX.createspl(const splname: WideString): WordBool;
  347. begin
  348.   CreateControl;
  349.   Result := FIntf.createspl(splname);
  350. end;
  351.  
  352. function TSplBaseX.openspl(const splname: WideString): WordBool;
  353. begin
  354.   CreateControl;
  355.   Result := FIntf.openspl(splname);
  356. end;
  357.  
  358. function TSplBaseX.addrec(const idx: WideString): WordBool;
  359. begin
  360.   CreateControl;
  361.   Result := FIntf.addrec(idx);
  362. end;
  363.  
  364. function TSplBaseX.setspl(const spldat: WideString): WordBool;
  365. begin
  366.   CreateControl;
  367.   Result := FIntf.setspl(spldat);
  368. end;
  369.  
  370. function TSplBaseX.addfield(const recdat: WideString; pos: Integer): WordBool;
  371. begin
  372.   CreateControl;
  373.   Result := FIntf.addfield(recdat, pos);
  374. end;
  375.  
  376. function TSplBaseX.getfield(pos: Integer): WideString;
  377. begin
  378.   CreateControl;
  379.   Result := FIntf.getfield(pos);
  380. end;
  381.  
  382. function TSplBaseX.delrec: WordBool;
  383. begin
  384.   CreateControl;
  385.   Result := FIntf.delrec;
  386. end;
  387.  
  388. function TSplBaseX.modrec(const idx: WideString): WordBool;
  389. begin
  390.   CreateControl;
  391.   Result := FIntf.modrec(idx);
  392. end;
  393.  
  394. function TSplBaseX.firstrec: WordBool;
  395. begin
  396.   CreateControl;
  397.   Result := FIntf.firstrec;
  398. end;
  399.  
  400. function TSplBaseX.lastrec: WordBool;
  401. begin
  402.   CreateControl;
  403.   Result := FIntf.lastrec;
  404. end;
  405.  
  406. function TSplBaseX.nextrec: WordBool;
  407. begin
  408.   CreateControl;
  409.   Result := FIntf.nextrec;
  410. end;
  411.  
  412. function TSplBaseX.prevrec: WordBool;
  413. begin
  414.   CreateControl;
  415.   Result := FIntf.prevrec;
  416. end;
  417.  
  418. procedure TSplBaseX.FlipChildren(AllLevels: WordBool);
  419. begin
  420.   CreateControl;
  421.   FIntf.FlipChildren(AllLevels);
  422. end;
  423.  
  424. function TSplBaseX.DrawTextBiDiModeFlags(Flags: Integer): Integer;
  425. begin
  426.   CreateControl;
  427.   Result := FIntf.DrawTextBiDiModeFlags(Flags);
  428. end;
  429.  
  430. function TSplBaseX.DrawTextBiDiModeFlagsReadingOnly: Integer;
  431. begin
  432.   CreateControl;
  433.   Result := FIntf.DrawTextBiDiModeFlagsReadingOnly;
  434. end;
  435.  
  436. function TSplBaseX.GetControlsAlignment: TxAlignment;
  437. begin
  438.   CreateControl;
  439.   Result := FIntf.GetControlsAlignment;
  440. end;
  441.  
  442. procedure TSplBaseX.InitiateAction;
  443. begin
  444.   CreateControl;
  445.   FIntf.InitiateAction;
  446. end;
  447.  
  448. function TSplBaseX.IsRightToLeft: WordBool;
  449. begin
  450.   CreateControl;
  451.   Result := FIntf.IsRightToLeft;
  452. end;
  453.  
  454. function TSplBaseX.UseRightToLeftAlignment: WordBool;
  455. begin
  456.   CreateControl;
  457.   Result := FIntf.UseRightToLeftAlignment;
  458. end;
  459.  
  460. function TSplBaseX.UseRightToLeftReading: WordBool;
  461. begin
  462.   CreateControl;
  463.   Result := FIntf.UseRightToLeftReading;
  464. end;
  465.  
  466. function TSplBaseX.UseRightToLeftScrollBar: WordBool;
  467. begin
  468.   CreateControl;
  469.   Result := FIntf.UseRightToLeftScrollBar;
  470. end;
  471.  
  472. function TSplBaseX.ClassNameIs(const Name: WideString): WordBool;
  473. begin
  474.   CreateControl;
  475.   Result := FIntf.ClassNameIs(Name);
  476. end;
  477.  
  478.  
  479. procedure Register;
  480. begin
  481.   RegisterComponents('ActiveX', [TSplBaseX]);
  482. end;
  483.  
  484. end.
  485.