NMHTML.pas
上传用户:szzdds
上传日期:2013-09-18
资源大小:293k
文件大小:45k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit NMHTML;
  2. {wrapper and support classes for the NetManage/NetMasters HTML OCX}
  3. interface
  4. uses Windows, ActiveX, Classes, Graphics, OleCtrls, StdVCL, PSock, NMConst;
  5. const
  6. { DocStateConstants }
  7.   icDocNone = 0;
  8.   icDocBegin = 1;
  9.   icDocHeaders = 2;
  10.   icDocData = 3;
  11.   icDocError = 4;
  12.   icDocEnd = 5;
  13. const
  14. { Component class GUIDs }
  15.   Class_DocHeaderCls: TGUID = '{B7FC3591-8CE7-11CF-9754-00AA00C00908}';
  16.   Class_DocHeadersCls: TGUID = '{B7FC3593-8CE7-11CF-9754-00AA00C00908}';
  17.   Class_DocInputCls: TGUID = '{B7FC3596-8CE7-11CF-9754-00AA00C00908}';
  18.   Class_DocOutputCls: TGUID = '{B7FC3598-8CE7-11CF-9754-00AA00C00908}';
  19.   Class_icErrorCls: TGUID = '{B7FC35A1-8CE7-11CF-9754-00AA00C00908}';
  20.   Class_icErrorsCls: TGUID = '{B7FC35A3-8CE7-11CF-9754-00AA00C00908}';
  21. const
  22.   LIBID_HTMLObjects: TGUID = '{B7FC354D-8CE7-11CF-9754-00AA00C00908}';
  23. { Component class GUIDs }
  24.   Class_HTMLElementCls: TGUID = '{B7FC3550-8CE7-11CF-9754-00AA00C00908}';
  25.   Class_HTMLFormCls: TGUID = '{B7FC3554-8CE7-11CF-9754-00AA00C00908}';
  26.   Class_HTMLFormsCls: TGUID = '{B7FC3557-8CE7-11CF-9754-00AA00C00908}';
  27.   Class_HTMLAttrCls: TGUID = '{B7FC3559-8CE7-11CF-9754-00AA00C00908}';
  28.   Class_HTMLAttrsCls: TGUID = '{B7FC355B-8CE7-11CF-9754-00AA00C00908}';
  29.   Class_HTML: TGUID = '{B7FC355E-8CE7-11CF-9754-00AA00C00908}';
  30. type
  31. { Forward declarations }
  32. { Forward declarations: Interfaces }
  33.   DocHeader = interface;
  34.   DocHeaderDisp = dispinterface;
  35.   DocHeaders = interface;
  36.   DocHeadersDisp = dispinterface;
  37.   DocInput = interface;
  38.   DocInputDisp = dispinterface;
  39.   DocOutput = interface;
  40.   DocOutputDisp = dispinterface;
  41.   icError = interface;
  42.   icErrorDisp = dispinterface;
  43.   icErrors = interface;
  44.   icErrorsDisp = dispinterface;
  45. { Forward declarations: CoClasses }
  46.   DocHeaderCls = DocHeader;
  47.   DocHeadersCls = DocHeaders;
  48.   DocInputCls = DocInput;
  49.   DocOutputCls = DocOutput;
  50.   icErrorCls = icError;
  51.   icErrorsCls = icErrors;
  52. { Forward declarations: Enums }
  53.   DocStateConstants = TOleEnum;
  54.   HTMLElement = interface;
  55.   HTMLElementDisp = dispinterface;
  56.   HTMLForm = interface;
  57.   HTMLFormDisp = dispinterface;
  58.   HTMLForms = interface;
  59.   HTMLFormsDisp = dispinterface;
  60.   HTMLAttr = interface;
  61.   HTMLAttrDisp = dispinterface;
  62.   HTMLAttrs = interface;
  63.   HTMLAttrsDisp = dispinterface;
  64.   IHTML = interface;
  65.   IHTMLDisp = dispinterface;
  66.   DHTMLEvents = dispinterface;
  67. { Forward declarations: CoClasses }
  68.   HTMLElementCls = HTMLElement;
  69.   HTMLFormCls = HTMLForm;
  70.   HTMLFormsCls = HTMLForms;
  71.   HTMLAttrCls = HTMLAttr;
  72.   HTMLAttrsCls = HTMLAttrs;
  73.   HTML = IHTML;
  74. { NetManage Internet Control }
  75.   INMOleControl = interface(IDispatch)
  76.     ['{B7FC35B6-8CE7-11CF-9754-00AA00C00908}']
  77.     function Get_Blocking: WordBool; safecall;
  78.     procedure Set_Blocking(Value: WordBool); safecall;
  79.     function Get_SleepTime: Integer; safecall;
  80.     procedure Set_SleepTime(Value: Integer); safecall;
  81.     function Get_BlockResult: Smallint; safecall;
  82.     procedure AboutBox; safecall;
  83.     property Blocking: WordBool read Get_Blocking write Set_Blocking;
  84.     property SleepTime: Integer read Get_SleepTime write Set_SleepTime;
  85.     property BlockResult: Smallint read Get_BlockResult;
  86.   end;
  87. { Internet DocHeader object properties and methods }
  88.   DocHeader = interface(IDispatch)
  89.     ['{B7FC3590-8CE7-11CF-9754-00AA00C00908}']
  90.     function Get_Name: WideString; safecall;
  91.     procedure Set_Name(const Value: WideString); safecall;
  92.     function Get_Value: WideString; safecall;
  93.     procedure Set_Value(const Value: WideString); safecall;
  94.     procedure SetThisObject(var ThisObject: SYSINT); safecall;
  95.     property Name: WideString read Get_Name write Set_Name;
  96.     property Value: WideString read Get_Value write Set_Value;
  97.   end;
  98. { DispInterface declaration for Dual Interface DocHeader }
  99.   DocHeaderDisp = dispinterface
  100.     ['{B7FC3590-8CE7-11CF-9754-00AA00C00908}']
  101.     property Name: WideString dispid 0;
  102.     property Value: WideString dispid 2;
  103.     procedure SetThisObject(var ThisObject: SYSINT); dispid 3;
  104.   end;
  105. { Internet DocHeaders collection properties and methods }
  106.   DocHeaders = interface(IDispatch)
  107.     ['{B7FC3592-8CE7-11CF-9754-00AA00C00908}']
  108.     function Get_Count: Integer; safecall;
  109.     function Get_Text: WideString; safecall;
  110.     procedure Set_Text(const Value: WideString); safecall;
  111.     function Get__NewEnum: IUnknown; safecall;
  112.     function Item(Index: OleVariant): DocHeader; safecall;
  113.     function Add(const Name, Value: WideString): DocHeader; safecall;
  114.     procedure Remove(Index: OleVariant); safecall;
  115.     procedure Clear; safecall;
  116.     procedure SetThisObject(var ThisObject: SYSINT); safecall;
  117.     property Count: Integer read Get_Count;
  118.     property Text: WideString read Get_Text write Set_Text;
  119.     property _NewEnum: IUnknown read Get__NewEnum;
  120.   end;
  121. { DispInterface declaration for Dual Interface DocHeaders }
  122.   DocHeadersDisp = dispinterface
  123.     ['{B7FC3592-8CE7-11CF-9754-00AA00C00908}']
  124.     property Count: Integer readonly dispid 1;
  125.     property Text: WideString dispid 2;
  126.     property _NewEnum: IUnknown readonly dispid -4;
  127.     function Item(Index: OleVariant): DocHeader; dispid 0;
  128.     function Add(const Name, Value: WideString): DocHeader; dispid 4;
  129.     procedure Remove(Index: OleVariant); dispid 5;
  130.     procedure Clear; dispid 6;
  131.     procedure SetThisObject(var ThisObject: SYSINT); dispid 7;
  132.   end;
  133. { Internet DocInput object properties and methods }
  134.   DocInput = interface(IDispatch)
  135.     ['{B7FC3595-8CE7-11CF-9754-00AA00C00908}']
  136.     function Get_Headers: DocHeaders; safecall;
  137.     function Get_State: DocStateConstants; safecall;
  138.     function Get_BytesTotal: Integer; safecall;
  139.     function Get_BytesTransferred: Integer; safecall;
  140.     function Get_FileName: WideString; safecall;
  141.     procedure Set_FileName(const Value: WideString); safecall;
  142.     function Get_DocLink: IUnknown; safecall;
  143.     procedure Set_DocLink(Value: IUnknown); safecall;
  144.     function Get_Suspended: WordBool; safecall;
  145.     function Get_PushStreamMode: WordBool; safecall;
  146.     procedure Set_PushStreamMode(Value: WordBool); safecall;
  147.     procedure GetData(out Data: OleVariant; Type_: OleVariant); safecall;
  148.     procedure SetData(Data: OleVariant); safecall;
  149.     procedure Suspend(Suspend: WordBool); safecall;
  150.     function Get_CPPObject: SYSINT; safecall;
  151.     procedure Set_CPPObject(Value: SYSINT); safecall;
  152.     procedure PushStream; safecall;
  153.     function Get_Tag: OleVariant; safecall;
  154.     procedure Set_Tag(Value: OleVariant); safecall;
  155.     function Get_Errors: icErrors; safecall;
  156.     function Get_URL: WideString; safecall;
  157.     property Headers: DocHeaders read Get_Headers;
  158.     property State: DocStateConstants read Get_State;
  159.     property BytesTotal: Integer read Get_BytesTotal;
  160.     property BytesTransferred: Integer read Get_BytesTransferred;
  161.     property FileName: WideString read Get_FileName write Set_FileName;
  162.     property DocLink: IUnknown read Get_DocLink write Set_DocLink;
  163.     property Suspended: WordBool read Get_Suspended;
  164.     property PushStreamMode: WordBool read Get_PushStreamMode write Set_PushStreamMode;
  165.     property CPPObject: SYSINT read Get_CPPObject write Set_CPPObject;
  166.     property Tag: OleVariant read Get_Tag write Set_Tag;
  167.     property Errors: icErrors read Get_Errors;
  168.     property URL: WideString read Get_URL;
  169.   end;
  170. { DispInterface declaration for Dual Interface DocInput }
  171.   DocInputDisp = dispinterface
  172.     ['{B7FC3595-8CE7-11CF-9754-00AA00C00908}']
  173.     property Headers: DocHeaders readonly dispid 2;
  174.     property State: DocStateConstants readonly dispid 3;
  175.     property BytesTotal: Integer readonly dispid 4;
  176.     property BytesTransferred: Integer readonly dispid 5;
  177.     property FileName: WideString dispid 6;
  178.     property DocLink: IUnknown dispid 7;
  179.     property Suspended: WordBool readonly dispid 11;
  180.     property PushStreamMode: WordBool dispid 12;
  181.     procedure GetData(out Data: OleVariant; Type_: OleVariant); dispid 9;
  182.     procedure SetData(Data: OleVariant); dispid 8;
  183.     procedure Suspend(Suspend: WordBool); dispid 10;
  184.     property CPPObject: SYSINT dispid 14;
  185.     procedure PushStream; dispid 13;
  186.     property Tag: OleVariant dispid 16;
  187.     property Errors: icErrors readonly dispid 17;
  188.     property URL: WideString readonly dispid 1;
  189.   end;
  190. { Internet DocOutput object properties and methods }
  191.   DocOutput = interface(IDispatch)
  192.     ['{B7FC3597-8CE7-11CF-9754-00AA00C00908}']
  193.     function Get_Headers: DocHeaders; safecall;
  194.     function Get_State: DocStateConstants; safecall;
  195.     function Get_BytesTotal: Integer; safecall;
  196.     function Get_BytesTransferred: Integer; safecall;
  197.     function Get_FileName: WideString; safecall;
  198.     procedure Set_FileName(const Value: WideString); safecall;
  199.     function Get_DocLink: IUnknown; safecall;
  200.     function Get_Suspended: WordBool; safecall;
  201.     function Get_PushStreamMode: WordBool; safecall;
  202.     function Get_DataString: WideString; safecall;
  203.     function Get_DataBlock: OleVariant; safecall;
  204.     procedure GetData(out Data: OleVariant; Type_: OleVariant); safecall;
  205.     procedure SetData(Data: OleVariant); safecall;
  206.     procedure Suspend(Suspend: WordBool); safecall;
  207.     function Get_CPPObject: SYSINT; safecall;
  208.     procedure Set_CPPObject(Value: SYSINT); safecall;
  209.     function Get_AppendToFile: WordBool; safecall;
  210.     procedure Set_AppendToFile(Value: WordBool); safecall;
  211.     function Get_Tag: OleVariant; safecall;
  212.     procedure Set_Tag(Value: OleVariant); safecall;
  213.     function Get_Errors: icErrors; safecall;
  214.     function Get_URL: WideString; safecall;
  215.     property Headers: DocHeaders read Get_Headers;
  216.     property State: DocStateConstants read Get_State;
  217.     property BytesTotal: Integer read Get_BytesTotal;
  218.     property BytesTransferred: Integer read Get_BytesTransferred;
  219.     property FileName: WideString read Get_FileName write Set_FileName;
  220.     property DocLink: IUnknown read Get_DocLink;
  221.     property Suspended: WordBool read Get_Suspended;
  222.     property PushStreamMode: WordBool read Get_PushStreamMode;
  223.     property DataString: WideString read Get_DataString;
  224.     property DataBlock: OleVariant read Get_DataBlock;
  225.     property CPPObject: SYSINT read Get_CPPObject write Set_CPPObject;
  226.     property AppendToFile: WordBool read Get_AppendToFile write Set_AppendToFile;
  227.     property Tag: OleVariant read Get_Tag write Set_Tag;
  228.     property Errors: icErrors read Get_Errors;
  229.     property URL: WideString read Get_URL;
  230.   end;
  231. { DispInterface declaration for Dual Interface DocOutput }
  232.   DocOutputDisp = dispinterface
  233.     ['{B7FC3597-8CE7-11CF-9754-00AA00C00908}']
  234.     property Headers: DocHeaders readonly dispid 2;
  235.     property State: DocStateConstants readonly dispid 3;
  236.     property BytesTotal: Integer readonly dispid 4;
  237.     property BytesTransferred: Integer readonly dispid 5;
  238.     property FileName: WideString dispid 6;
  239.     property DocLink: IUnknown readonly dispid 7;
  240.     property Suspended: WordBool readonly dispid 11;
  241.     property PushStreamMode: WordBool readonly dispid 12;
  242.     property DataString: WideString readonly dispid 19;
  243.     property DataBlock: OleVariant readonly dispid 18;
  244.     procedure GetData(out Data: OleVariant; Type_: OleVariant); dispid 9;
  245.     procedure SetData(Data: OleVariant); dispid 8;
  246.     procedure Suspend(Suspend: WordBool); dispid 10;
  247.     property CPPObject: SYSINT dispid 14;
  248.     property AppendToFile: WordBool dispid 15;
  249.     property Tag: OleVariant dispid 16;
  250.     property Errors: icErrors readonly dispid 17;
  251.     property URL: WideString readonly dispid 1;
  252.   end;
  253. { Internet error object properties and methods }
  254.   icError = interface(IDispatch)
  255.     ['{B7FC35A0-8CE7-11CF-9754-00AA00C00908}']
  256.     function Get_Type_: WideString; safecall;
  257.     function Get_Code: Integer; safecall;
  258.     function Get_Description: WideString; safecall;
  259.     procedure SetThisObject(var ThisObject: SYSINT); safecall;
  260.     procedure InitProperties(var ErrorType, ErrorDesc: WideString; var ErrorCode: Integer); safecall;
  261.     property Type_: WideString read Get_Type_;
  262.     property Code: Integer read Get_Code;
  263.     property Description: WideString read Get_Description;
  264.   end;
  265. { DispInterface declaration for Dual Interface icError }
  266.   icErrorDisp = dispinterface
  267.     ['{B7FC35A0-8CE7-11CF-9754-00AA00C00908}']
  268.     property Type_: WideString readonly dispid 0;
  269.     property Code: Integer readonly dispid 151;
  270.     property Description: WideString readonly dispid 152;
  271.     procedure SetThisObject(var ThisObject: SYSINT); dispid 154;
  272.     procedure InitProperties(var ErrorType, ErrorDesc: WideString; var ErrorCode: Integer); dispid 155;
  273.   end;
  274. { Internet errors collection properties and methods }
  275.   icErrors = interface(IDispatch)
  276.     ['{B7FC35A2-8CE7-11CF-9754-00AA00C00908}']
  277.     function Get_Count: Integer; safecall;
  278.     function Get_Source: OleVariant; safecall;
  279.     function Get__NewEnum: IUnknown; safecall;
  280.     function Item(Index: OleVariant): icError; safecall;
  281.     procedure Clear; safecall;
  282.     procedure SetItem(var ErrCode: Integer; var ErrType, ErrDesc: WideString); safecall;
  283.     procedure SetThisObject(var ThisObject: SYSINT); safecall;
  284.     procedure SetCollection(var initString: WideString); safecall;
  285.     property Count: Integer read Get_Count;
  286.     property Source: OleVariant read Get_Source;
  287.     property _NewEnum: IUnknown read Get__NewEnum;
  288.   end;
  289. { DispInterface declaration for Dual Interface icErrors }
  290.   icErrorsDisp = dispinterface
  291.     ['{B7FC35A2-8CE7-11CF-9754-00AA00C00908}']
  292.     property Count: Integer readonly dispid 100;
  293.     property Source: OleVariant readonly dispid 102;
  294.     property _NewEnum: IUnknown readonly dispid -4;
  295.     function Item(Index: OleVariant): icError; dispid 0;
  296.     procedure Clear; dispid 103;
  297.     procedure SetItem(var ErrCode: Integer; var ErrType, ErrDesc: WideString); dispid 153;
  298.     procedure SetThisObject(var ThisObject: SYSINT); dispid 104;
  299.     procedure SetCollection(var initString: WideString); dispid 105;
  300.   end;
  301. { Internet DocHeader object }
  302.   CoDocHeaderCls = class
  303.     class function Create: DocHeader;
  304.     class function CreateRemote(const MachineName: string): DocHeader;
  305.   end;
  306. { Internet DocHeaders object }
  307.   CoDocHeadersCls = class
  308.     class function Create: DocHeaders;
  309.     class function CreateRemote(const MachineName: string): DocHeaders;
  310.   end;
  311. { Internet DocInput object }
  312.   CoDocInputCls = class
  313.     class function Create: DocInput;
  314.     class function CreateRemote(const MachineName: string): DocInput;
  315.   end;
  316. { Internet DocOutput object }
  317.   CoDocOutputCls = class
  318.     class function Create: DocOutput;
  319.     class function CreateRemote(const MachineName: string): DocOutput;
  320.   end;
  321. { Internet error object }
  322.   CoicErrorCls = class
  323.     class function Create: icError;
  324.     class function CreateRemote(const MachineName: string): icError;
  325.   end;
  326. { Internet errors collection }
  327.   CoicErrorsCls = class
  328.     class function Create: icErrors;
  329.     class function CreateRemote(const MachineName: string): icErrors;
  330.   end;
  331. { HTML Element properties and methods }
  332.   HTMLElement = interface(IDispatch)
  333.     ['{B7FC354E-8CE7-11CF-9754-00AA00C00908}']
  334.   end;
  335. { DispInterface declaration for Dual Interface HTMLElement }
  336.   HTMLElementDisp = dispinterface
  337.     ['{B7FC354E-8CE7-11CF-9754-00AA00C00908}']
  338.   end;
  339. { HTML Form properties and methods }
  340.   HTMLForm = interface(IDispatch)
  341.     ['{B7FC3551-8CE7-11CF-9754-00AA00C00908}']
  342.     function Get_Method: WideString; safecall;
  343.     function Get_URL: WideString; safecall;
  344.     function Get_URLEncodedBody: WideString; safecall;
  345.     procedure RequestSubmit; safecall;
  346.     function Get_CPPObject: SYSINT; safecall;
  347.     procedure Set_CPPObject(Value: SYSINT); safecall;
  348.     property Method: WideString read Get_Method;
  349.     property URL: WideString read Get_URL;
  350.     property URLEncodedBody: WideString read Get_URLEncodedBody;
  351.     property CPPObject: SYSINT read Get_CPPObject write Set_CPPObject;
  352.   end;
  353. { DispInterface declaration for Dual Interface HTMLForm }
  354.   HTMLFormDisp = dispinterface
  355.     ['{B7FC3551-8CE7-11CF-9754-00AA00C00908}']
  356.     property Method: WideString readonly dispid 1;
  357.     property URL: WideString readonly dispid 2;
  358.     property URLEncodedBody: WideString readonly dispid 3;
  359.     procedure RequestSubmit; dispid 4;
  360.     property CPPObject: SYSINT dispid 100;
  361.   end;
  362. { HTML Forms collection properties and methods }
  363.   HTMLForms = interface(IDispatch)
  364.     ['{B7FC3555-8CE7-11CF-9754-00AA00C00908}']
  365.     function Get_Count: Integer; safecall;
  366.     function Get__NewEnum: IUnknown; safecall;
  367.     function Item(Index: OleVariant): HTMLForm; safecall;
  368.     function Get_CPPObject: SYSINT; safecall;
  369.     procedure Set_CPPObject(Value: SYSINT); safecall;
  370.     property Count: Integer read Get_Count;
  371.     property _NewEnum: IUnknown read Get__NewEnum;
  372.     property CPPObject: SYSINT read Get_CPPObject write Set_CPPObject;
  373.   end;
  374. { DispInterface declaration for Dual Interface HTMLForms }
  375.   HTMLFormsDisp = dispinterface
  376.     ['{B7FC3555-8CE7-11CF-9754-00AA00C00908}']
  377.     property Count: Integer readonly dispid 1;
  378.     property _NewEnum: IUnknown readonly dispid -4;
  379.     function Item(Index: OleVariant): HTMLForm; dispid 2;
  380.     property CPPObject: SYSINT dispid 100;
  381.   end;
  382. { HTML Attribute properties and methods }
  383.   HTMLAttr = interface(IDispatch)
  384.     ['{B7FC3558-8CE7-11CF-9754-00AA00C00908}']
  385.     function Get_Name: WideString; safecall;
  386.     function Get_Value: WideString; safecall;
  387.     function Get_CPPObject: SYSINT; safecall;
  388.     procedure Set_CPPObject(Value: SYSINT); safecall;
  389.     property Name: WideString read Get_Name;
  390.     property Value: WideString read Get_Value;
  391.     property CPPObject: SYSINT read Get_CPPObject write Set_CPPObject;
  392.   end;
  393. { DispInterface declaration for Dual Interface HTMLAttr }
  394.   HTMLAttrDisp = dispinterface
  395.     ['{B7FC3558-8CE7-11CF-9754-00AA00C00908}']
  396.     property Name: WideString readonly dispid 1;
  397.     property Value: WideString readonly dispid 2;
  398.     property CPPObject: SYSINT dispid 100;
  399.   end;
  400. { HTML Attributes collection properties and methods }
  401.   HTMLAttrs = interface(IDispatch)
  402.     ['{B7FC355A-8CE7-11CF-9754-00AA00C00908}']
  403.     function Get_Count: Integer; safecall;
  404.     function Get__NewEnum: IUnknown; safecall;
  405.     function Item(Index: OleVariant): HTMLAttr; safecall;
  406.     function Get_CPPObject: SYSINT; safecall;
  407.     procedure Set_CPPObject(Value: SYSINT); safecall;
  408.     procedure Set_InternalCount(Value: Integer); safecall;
  409.     property Count: Integer read Get_Count;
  410.     property _NewEnum: IUnknown read Get__NewEnum;
  411.     property CPPObject: SYSINT read Get_CPPObject write Set_CPPObject;
  412.     property InternalCount: Integer write Set_InternalCount;
  413.   end;
  414. { DispInterface declaration for Dual Interface HTMLAttrs }
  415.   HTMLAttrsDisp = dispinterface
  416.     ['{B7FC355A-8CE7-11CF-9754-00AA00C00908}']
  417.     property Count: Integer readonly dispid 1;
  418.     property _NewEnum: IUnknown readonly dispid -4;
  419.     function Item(Index: OleVariant): HTMLAttr; dispid 2;
  420.     property CPPObject: SYSINT dispid 100;
  421.     property InternalCount: Integer writeonly dispid 3;
  422.   end;
  423. { Properties/Methods for NetManage HTML Control }
  424.   IHTML = interface(INMOleControl)
  425.     ['{B7FC355C-8CE7-11CF-9754-00AA00C00908}']
  426.     function Get_DocInput: DocInput; safecall;
  427.     function Get_DocOutput: DocOutput; safecall;
  428.     function Get_URL: WideString; safecall;
  429.     function Get_RequestURL: WideString; safecall;
  430.     function Get_BaseURL: WideString; safecall;
  431.     function Get_Forms: HTMLForms; safecall;
  432.     function Get_TotalWidth: Integer; safecall;
  433.     function Get_TotalHeight: Integer; safecall;
  434.     function Get_RetrieveBytesTotal: Integer; safecall;
  435.     function Get_RetrieveBytesDone: Integer; safecall;
  436.     function Get_ParseDone: WordBool; safecall;
  437.     function Get_LayoutDone: WordBool; safecall;
  438.     function Get_DeferRetrieval: WordBool; safecall;
  439.     procedure Set_DeferRetrieval(Value: WordBool); safecall;
  440.     function Get_ViewSource: WordBool; safecall;
  441.     procedure Set_ViewSource(Value: WordBool); safecall;
  442.     function Get_RetainSource: WordBool; safecall;
  443.     procedure Set_RetainSource(Value: WordBool); safecall;
  444.     function Get_SourceText: WideString; safecall;
  445.     function Get_ElemNotification: WordBool; safecall;
  446.     procedure Set_ElemNotification(Value: WordBool); safecall;
  447.     function Get_Timeout: Integer; safecall;
  448.     procedure Set_Timeout(Value: Integer); safecall;
  449.     function Get_Redraw: WordBool; safecall;
  450.     procedure Set_Redraw(Value: WordBool); safecall;
  451.     function Get_UnderlineLinks: WordBool; safecall;
  452.     procedure Set_UnderlineLinks(Value: WordBool); safecall;
  453.     function Get_UseDocColors: WordBool; safecall;
  454.     procedure Set_UseDocColors(Value: WordBool); safecall;
  455.     function Get_BackImage: WideString; safecall;
  456.     procedure Set_BackImage(const Value: WideString); safecall;
  457.     function Get_BackColor: TColor; safecall;
  458.     procedure Set_BackColor(Value: TColor); safecall;
  459.     function Get_ForeColor: TColor; safecall;
  460.     procedure Set_ForeColor(Value: TColor); safecall;
  461.     function Get_LinkColor: TColor; safecall;
  462.     procedure Set_LinkColor(Value: TColor); safecall;
  463.     function Get_VisitedColor: TColor; safecall;
  464.     procedure Set_VisitedColor(Value: TColor); safecall;
  465.     function Get_DocBackColor: TColor; safecall;
  466.     function Get_DocForeColor: TColor; safecall;
  467.     function Get_DocLinkColor: TColor; safecall;
  468.     function Get_DocVisitedColor: TColor; safecall;
  469.     function Get_Font: IFontDisp; safecall;
  470.     procedure Set_Font(const Value: IFontDisp); safecall;
  471.     function Get_FixedFont: IFontDisp; safecall;
  472.     procedure Set_FixedFont(const Value: IFontDisp); safecall;
  473.     function Get_Heading1Font: IFontDisp; safecall;
  474.     procedure Set_Heading1Font(const Value: IFontDisp); safecall;
  475.     function Get_Heading2Font: IFontDisp; safecall;
  476.     procedure Set_Heading2Font(const Value: IFontDisp); safecall;
  477.     function Get_Heading3Font: IFontDisp; safecall;
  478.     procedure Set_Heading3Font(const Value: IFontDisp); safecall;
  479.     function Get_Heading4Font: IFontDisp; safecall;
  480.     procedure Set_Heading4Font(const Value: IFontDisp); safecall;
  481.     function Get_Heading5Font: IFontDisp; safecall;
  482.     procedure Set_Heading5Font(const Value: IFontDisp); safecall;
  483.     function Get_Heading6Font: IFontDisp; safecall;
  484.     procedure Set_Heading6Font(const Value: IFontDisp); safecall;
  485.     function Get_IsPrintingDone(PageNumber: Integer): WordBool; safecall;
  486.     procedure RequestDoc(const URL: WideString); safecall;
  487.     procedure RequestAllEmbedded; safecall;
  488.     procedure Cancel(Message: OleVariant); safecall;
  489.     procedure BeginPrinting(hDC: Integer; x, y, Width, Height, DefaultHeaders, DefaultTitle: OleVariant); safecall;
  490.     procedure PrintPage(hDC, PageNumber: Integer); safecall;
  491.     procedure EndPrinting; safecall;
  492.     procedure AutoPrint(hDC: Integer); safecall;
  493.     function Get_Errors: icErrors; safecall;
  494.     function Get_hWnd: OLE_HANDLE; safecall;
  495.     function GetPlainText(selected, fancy: WordBool): WideString; safecall;
  496.     function HasSelection: WordBool; safecall;
  497.     procedure SelectAll; safecall;
  498.     property DocInput: DocInput read Get_DocInput;
  499.     property DocOutput: DocOutput read Get_DocOutput;
  500.     property URL: WideString read Get_URL;
  501.     property RequestURL: WideString read Get_RequestURL;
  502.     property BaseURL: WideString read Get_BaseURL;
  503.     property Forms: HTMLForms read Get_Forms;
  504.     property TotalWidth: Integer read Get_TotalWidth;
  505.     property TotalHeight: Integer read Get_TotalHeight;
  506.     property RetrieveBytesTotal: Integer read Get_RetrieveBytesTotal;
  507.     property RetrieveBytesDone: Integer read Get_RetrieveBytesDone;
  508.     property ParseDone: WordBool read Get_ParseDone;
  509.     property LayoutDone: WordBool read Get_LayoutDone;
  510.     property DeferRetrieval: WordBool read Get_DeferRetrieval write Set_DeferRetrieval;
  511.     property ViewSource: WordBool read Get_ViewSource write Set_ViewSource;
  512.     property RetainSource: WordBool read Get_RetainSource write Set_RetainSource;
  513.     property SourceText: WideString read Get_SourceText;
  514.     property ElemNotification: WordBool read Get_ElemNotification write Set_ElemNotification;
  515.     property Timeout: Integer read Get_Timeout write Set_Timeout;
  516.     property Redraw: WordBool read Get_Redraw write Set_Redraw;
  517.     property UnderlineLinks: WordBool read Get_UnderlineLinks write Set_UnderlineLinks;
  518.     property UseDocColors: WordBool read Get_UseDocColors write Set_UseDocColors;
  519.     property BackImage: WideString read Get_BackImage write Set_BackImage;
  520.     property BackColor: TColor read Get_BackColor write Set_BackColor;
  521.     property ForeColor: TColor read Get_ForeColor write Set_ForeColor;
  522.     property LinkColor: TColor read Get_LinkColor write Set_LinkColor;
  523.     property VisitedColor: TColor read Get_VisitedColor write Set_VisitedColor;
  524.     property DocBackColor: TColor read Get_DocBackColor;
  525.     property DocForeColor: TColor read Get_DocForeColor;
  526.     property DocLinkColor: TColor read Get_DocLinkColor;
  527.     property DocVisitedColor: TColor read Get_DocVisitedColor;
  528.     property Font: IFontDisp read Get_Font write Set_Font;
  529.     property FixedFont: IFontDisp read Get_FixedFont write Set_FixedFont;
  530.     property Heading1Font: IFontDisp read Get_Heading1Font write Set_Heading1Font;
  531.     property Heading2Font: IFontDisp read Get_Heading2Font write Set_Heading2Font;
  532.     property Heading3Font: IFontDisp read Get_Heading3Font write Set_Heading3Font;
  533.     property Heading4Font: IFontDisp read Get_Heading4Font write Set_Heading4Font;
  534.     property Heading5Font: IFontDisp read Get_Heading5Font write Set_Heading5Font;
  535.     property Heading6Font: IFontDisp read Get_Heading6Font write Set_Heading6Font;
  536.     property IsPrintingDone[PageNumber: Integer]: WordBool read Get_IsPrintingDone;
  537.     property Errors: icErrors read Get_Errors;
  538.     property hWnd: OLE_HANDLE read Get_hWnd;
  539.   end;
  540. { DispInterface declaration for Dual Interface IHTML }
  541.   IHTMLDisp = dispinterface
  542.     ['{B7FC355C-8CE7-11CF-9754-00AA00C00908}']
  543.     property DocInput: DocInput readonly dispid 1002;
  544.     property DocOutput: DocOutput readonly dispid 1003;
  545.     property URL: WideString readonly dispid 1001;
  546.     property RequestURL: WideString readonly dispid 2;
  547.     property BaseURL: WideString readonly dispid 3;
  548.     property Forms: HTMLForms readonly dispid 4;
  549.     property TotalWidth: Integer readonly dispid 5;
  550.     property TotalHeight: Integer readonly dispid 6;
  551.     property RetrieveBytesTotal: Integer readonly dispid 7;
  552.     property RetrieveBytesDone: Integer readonly dispid 8;
  553.     property ParseDone: WordBool readonly dispid 9;
  554.     property LayoutDone: WordBool readonly dispid 10;
  555.     property DeferRetrieval: WordBool dispid 11;
  556.     property ViewSource: WordBool dispid 12;
  557.     property RetainSource: WordBool dispid 13;
  558.     property SourceText: WideString readonly dispid 14;
  559.     property ElemNotification: WordBool dispid 15;
  560.     property Timeout: Integer dispid 507;
  561.     property Redraw: WordBool dispid 17;
  562.     property UnderlineLinks: WordBool dispid 18;
  563.     property UseDocColors: WordBool dispid 19;
  564.     property BackImage: WideString dispid 20;
  565.     property BackColor: TColor dispid -501;
  566.     property ForeColor: TColor dispid -513;
  567.     property LinkColor: TColor dispid 21;
  568.     property VisitedColor: TColor dispid 22;
  569.     property DocBackColor: TColor readonly dispid 23;
  570.     property DocForeColor: TColor readonly dispid 24;
  571.     property DocLinkColor: TColor readonly dispid 25;
  572.     property DocVisitedColor: TColor readonly dispid 26;
  573.     property Font: IFontDisp dispid -512;
  574.     property FixedFont: IFontDisp dispid 27;
  575.     property Heading1Font: IFontDisp dispid 28;
  576.     property Heading2Font: IFontDisp dispid 29;
  577.     property Heading3Font: IFontDisp dispid 30;
  578.     property Heading4Font: IFontDisp dispid 31;
  579.     property Heading5Font: IFontDisp dispid 32;
  580.     property Heading6Font: IFontDisp dispid 33;
  581.     property IsPrintingDone[PageNumber: Integer]: WordBool readonly dispid 39;
  582.     procedure RequestDoc(const URL: WideString); dispid 34;
  583.     procedure RequestAllEmbedded; dispid 35;
  584.     procedure Cancel(Message: OleVariant); dispid 520;
  585.     procedure BeginPrinting(hDC: Integer; x, y, Width, Height, DefaultHeaders, DefaultTitle: OleVariant); dispid 36;
  586.     procedure PrintPage(hDC, PageNumber: Integer); dispid 37;
  587.     procedure EndPrinting; dispid 38;
  588.     procedure AutoPrint(hDC: Integer); dispid 50;
  589.     property Errors: icErrors readonly dispid 508;
  590.     property hWnd: Integer{OLE_HANDLE} readonly dispid -515;  //!!
  591.     function GetPlainText(selected, fancy: WordBool): WideString; dispid 41;
  592.     function HasSelection: WordBool; dispid 42;
  593.     procedure SelectAll; dispid 43;
  594.   end;
  595. { HTML Control events }
  596.   DHTMLEvents = dispinterface
  597.     ['{B7FC355D-8CE7-11CF-9754-00AA00C00908}']
  598.     procedure Error(Number: Smallint; var Description: WideString; Scode: Integer; const Source, HelpFile: WideString; HelpContext: Integer; var CancelDisplay: WordBool); dispid -608;
  599.     procedure DocInput(const DocInput: DocInput); dispid 1016;
  600.     procedure DocOutput(const DocOutput: DocOutput); dispid 1017;
  601.     procedure ParseComplete; dispid 1;
  602.     procedure LayoutComplete; dispid 2;
  603.     procedure Timeout; dispid 551;
  604.     procedure BeginRetrieval; dispid 4;
  605.     procedure UpdateRetrieval; dispid 5;
  606.     procedure EndRetrieval; dispid 6;
  607.     procedure DoRequestDoc(const URL: WideString; const Element: HTMLElement; const DocInput: DocInput; var EnableDefault: WordBool); dispid 7;
  608.     procedure DoRequestEmbedded(const URL: WideString; const Element: HTMLElement; const DocInput: DocInput; var EnableDefault: WordBool); dispid 8;
  609.     procedure DoRequestSubmit(const URL: WideString; const Form: HTMLForm; const DocOutput: DocOutput; var EnableDefault: WordBool); dispid 9;
  610.     procedure DoNewElement(const ElemType: WideString; EndTag: WordBool; const Attrs: HTMLAttrs; const text: WideString; var EnableDefault: WordBool); dispid 10;
  611.     procedure KeyPress(KeyAscii: Smallint); dispid -603;
  612.     procedure KeyDown(KeyCode, Shift: Smallint); dispid -602;
  613.     procedure KeyUp(KeyCode, Shift: Smallint); dispid -604;
  614.     procedure Click; dispid -600;
  615.     procedure DblClick; dispid -601;
  616.     procedure MouseDown(Button, Shift: Smallint; x: OLE_XPOS_PIXELS; y: OLE_YPOS_PIXELS); dispid -605;
  617.     procedure MouseMove(Button, Shift: Smallint; x: OLE_XPOS_PIXELS; y: OLE_YPOS_PIXELS); dispid -606;
  618.     procedure MouseUp(Button, Shift: Smallint; x: OLE_XPOS_PIXELS; y: OLE_YPOS_PIXELS); dispid -607;
  619.   end;
  620. { HTML Element }
  621.   CoHTMLElementCls = class
  622.     class function Create: HTMLElement;
  623.     class function CreateRemote(const MachineName: string): HTMLElement;
  624.   end;
  625. { HTML Form object }
  626.   CoHTMLFormCls = class
  627.     class function Create: HTMLForm;
  628.     class function CreateRemote(const MachineName: string): HTMLForm;
  629.   end;
  630. { HTML Forms collection }
  631.   CoHTMLFormsCls = class
  632.     class function Create: HTMLForms;
  633.     class function CreateRemote(const MachineName: string): HTMLForms;
  634.   end;
  635. { HTML Attribute object }
  636.   CoHTMLAttrCls = class
  637.     class function Create: HTMLAttr;
  638.     class function CreateRemote(const MachineName: string): HTMLAttr;
  639.   end;
  640. { HTML Attributes collection }
  641.   CoHTMLAttrsCls = class
  642.     class function Create: HTMLAttrs;
  643.     class function CreateRemote(const MachineName: string): HTMLAttrs;
  644.   end;
  645. { NetManage HTML Client Control }
  646.   TNMHTMLError = procedure(Sender: TObject; Number: Smallint; var Description: WideString; Scode: Integer; const Source, HelpFile: WideString; HelpContext: Integer; var CancelDisplay: WordBool) of object;
  647.   //!CH Removed const to workaround BCB-9893 (PS and TH investigating proper method to handle this)
  648.   TNMHTMLDocInput = procedure(Sender: TObject; {const} DocInput: DocInput) of object;
  649.   TNMHTMLDocOutput = procedure(Sender: TObject; {const} DocOutput: DocOutput) of object;
  650.   TNMHTMLDoRequestDoc = procedure(Sender: TObject; const URL: WideString; {const} Element: HTMLElement; {const} DocInput: DocInput; var EnableDefault: WordBool) of object;
  651.   TNMHTMLDoRequestEmbedded = procedure(Sender: TObject; const URL: WideString; {const} Element: HTMLElement; {const} DocInput: DocInput; var EnableDefault: WordBool) of object;
  652.   TNMHTMLDoRequestSubmit = procedure(Sender: TObject; const URL: WideString; {const} Form: HTMLForm; {const} DocOutput: DocOutput; var EnableDefault: WordBool) of object;
  653.   TNMHTMLDoNewElement = procedure(Sender: TObject; const ElemType: WideString; EndTag: WordBool; {const} Attrs: HTMLAttrs; const text: WideString; var EnableDefault: WordBool) of object;
  654.   TNMHTML = class(TOleControl)
  655.   private
  656.     FOnError: TNMHTMLError;
  657.     FOnDocInput: TNMHTMLDocInput;
  658.     FOnDocOutput: TNMHTMLDocOutput;
  659.     FOnParseComplete: TNotifyEvent;
  660.     FOnLayoutComplete: TNotifyEvent;
  661.     FOnTimeout: TNotifyEvent;
  662.     FOnBeginRetrieval: TNotifyEvent;
  663.     FOnUpdateRetrieval: TNotifyEvent;
  664.     FOnEndRetrieval: TNotifyEvent;
  665.     FOnDoRequestDoc: TNMHTMLDoRequestDoc;
  666.     FOnDoRequestEmbedded: TNMHTMLDoRequestEmbedded;
  667.     FOnDoRequestSubmit: TNMHTMLDoRequestSubmit;
  668.     FOnDoNewElement: TNMHTMLDoNewElement;
  669.     FIntf: IHTML;
  670.     function Get_DocInput: DocInput;
  671.     function Get_DocOutput: DocOutput;
  672.     function Get_Forms: HTMLForms;
  673.     function Get_IsPrintingDone(PageNumber: Integer): WordBool;
  674.     function Get_Errors: icErrors;
  675.     function Get_hWnd: OLE_HANDLE;
  676.   protected
  677.     procedure InitControlData; override;
  678.     procedure InitControlInterface(const Obj: IUnknown); override;
  679.   public
  680.     procedure AboutBox;
  681.     procedure RequestDoc(const URL: WideString);
  682.     procedure RequestAllEmbedded;
  683.     procedure Cancel(Message: OleVariant);
  684.     procedure BeginPrinting(hDC: Integer; x, y, Width, Height, DefaultHeaders, DefaultTitle: OleVariant);
  685.     procedure PrintPage(hDC, PageNumber: Integer);
  686.     procedure EndPrinting;
  687.     procedure AutoPrint(hDC: Integer);
  688.     function GetPlainText(selected, fancy: WordBool): WideString;
  689.     function HasSelection: WordBool;
  690.     procedure SelectAll;
  691.     property ControlInterface: IHTML read FIntf;
  692.     property BlockResult: Smallint index 519 read GetSmallintProp;
  693.     property DocInput: DocInput read Get_DocInput;
  694.     property DocOutput: DocOutput read Get_DocOutput;
  695.     property URL: WideString index 1001 read GetWideStringProp;
  696.     property RequestURL: WideString index 2 read GetWideStringProp;
  697.     property BaseURL: WideString index 3 read GetWideStringProp;
  698.     property Forms: HTMLForms read Get_Forms;
  699.     property TotalWidth: Integer index 5 read GetIntegerProp;
  700.     property TotalHeight: Integer index 6 read GetIntegerProp;
  701.     property RetrieveBytesTotal: Integer index 7 read GetIntegerProp;
  702.     property RetrieveBytesDone: Integer index 8 read GetIntegerProp;
  703.     property ParseDone: WordBool index 9 read GetWordBoolProp;
  704.     property LayoutDone: WordBool index 10 read GetWordBoolProp;
  705.     property SourceText: WideString index 14 read GetWideStringProp;
  706.     property DocBackColor: TColor index 23 read GetTColorProp;
  707.     property DocForeColor: TColor index 24 read GetTColorProp;
  708.     property DocLinkColor: TColor index 25 read GetTColorProp;
  709.     property DocVisitedColor: TColor index 26 read GetTColorProp;
  710.     property IsPrintingDone[PageNumber: Integer]: WordBool read Get_IsPrintingDone;
  711.     property Errors: icErrors read Get_Errors;
  712.     property hWnd: OLE_HANDLE read Get_hWnd;
  713.   published
  714.     property ParentColor;
  715.     property ParentFont;
  716.     property TabStop;
  717.     property Align;
  718.     property DragCursor;
  719.     property DragMode;
  720.     property ParentShowHint;
  721.     property PopupMenu;
  722.     property ShowHint;
  723.     property TabOrder;
  724.     property Visible;
  725.     property OnDragDrop;
  726.     property OnDragOver;
  727.     property OnEndDrag;
  728.     property OnEnter;
  729.     property OnExit;
  730.     property OnStartDrag;
  731.     property OnMouseUp;
  732.     property OnMouseMove;
  733.     property OnMouseDown;
  734.     property OnKeyUp;
  735.     property OnKeyPress;
  736.     property OnKeyDown;
  737.     property OnDblClick;
  738.     property OnClick;
  739.     property Blocking: WordBool index 515 read GetWordBoolProp write SetWordBoolProp stored False;
  740.     property SleepTime: Integer index 516 read GetIntegerProp write SetIntegerProp stored False;
  741.     property DeferRetrieval: WordBool index 11 read GetWordBoolProp write SetWordBoolProp stored False;
  742.     property ViewSource: WordBool index 12 read GetWordBoolProp write SetWordBoolProp stored False;
  743.     property RetainSource: WordBool index 13 read GetWordBoolProp write SetWordBoolProp stored False;
  744.     property ElemNotification: WordBool index 15 read GetWordBoolProp write SetWordBoolProp stored False;
  745.     property Timeout: Integer index 507 read GetIntegerProp write SetIntegerProp stored False;
  746.     property Redraw: WordBool index 17 read GetWordBoolProp write SetWordBoolProp stored False;
  747.     property UnderlineLinks: WordBool index 18 read GetWordBoolProp write SetWordBoolProp stored False;
  748.     property UseDocColors: WordBool index 19 read GetWordBoolProp write SetWordBoolProp stored False;
  749.     property BackImage: WideString index 20 read GetWideStringProp write SetWideStringProp stored False;
  750.     property BackColor: TColor index -501 read GetTColorProp write SetTColorProp stored False;
  751.     property ForeColor: TColor index -513 read GetTColorProp write SetTColorProp stored False;
  752.     property LinkColor: TColor index 21 read GetTColorProp write SetTColorProp stored False;
  753.     property VisitedColor: TColor index 22 read GetTColorProp write SetTColorProp stored False;
  754.     property Font: TFont index -512 read GetTFontProp write SetTFontProp stored False;
  755.     property FixedFont: TFont index 27 read GetTFontProp write SetTFontProp stored False;
  756.     property Heading1Font: TFont index 28 read GetTFontProp write SetTFontProp stored False;
  757.     property Heading2Font: TFont index 29 read GetTFontProp write SetTFontProp stored False;
  758.     property Heading3Font: TFont index 30 read GetTFontProp write SetTFontProp stored False;
  759.     property Heading4Font: TFont index 31 read GetTFontProp write SetTFontProp stored False;
  760.     property Heading5Font: TFont index 32 read GetTFontProp write SetTFontProp stored False;
  761.     property Heading6Font: TFont index 33 read GetTFontProp write SetTFontProp stored False;
  762.     property OnError: TNMHTMLError read FOnError write FOnError;
  763.     property OnDocInput: TNMHTMLDocInput read FOnDocInput write FOnDocInput;
  764.     property OnDocOutput: TNMHTMLDocOutput read FOnDocOutput write FOnDocOutput;
  765.     property OnParseComplete: TNotifyEvent read FOnParseComplete write FOnParseComplete;
  766.     property OnLayoutComplete: TNotifyEvent read FOnLayoutComplete write FOnLayoutComplete;
  767.     property OnTimeout: TNotifyEvent read FOnTimeout write FOnTimeout;
  768.     property OnBeginRetrieval: TNotifyEvent read FOnBeginRetrieval write FOnBeginRetrieval;
  769.     property OnUpdateRetrieval: TNotifyEvent read FOnUpdateRetrieval write FOnUpdateRetrieval;
  770.     property OnEndRetrieval: TNotifyEvent read FOnEndRetrieval write FOnEndRetrieval;
  771.     property OnDoRequestDoc: TNMHTMLDoRequestDoc read FOnDoRequestDoc write FOnDoRequestDoc;
  772.     property OnDoRequestEmbedded: TNMHTMLDoRequestEmbedded read FOnDoRequestEmbedded write FOnDoRequestEmbedded;
  773.     property OnDoRequestSubmit: TNMHTMLDoRequestSubmit read FOnDoRequestSubmit write FOnDoRequestSubmit;
  774.     property OnDoNewElement: TNMHTMLDoNewElement read FOnDoNewElement write FOnDoNewElement;
  775.   end;
  776. implementation
  777. uses ComObj;
  778. class function CoDocHeaderCls.Create: DocHeader;
  779. begin
  780.   Result := CreateComObject(Class_DocHeaderCls) as DocHeader;
  781. end;
  782. class function CoDocHeaderCls.CreateRemote(const MachineName: string): DocHeader;
  783. begin
  784.   Result := CreateRemoteComObject(MachineName, Class_DocHeaderCls) as DocHeader;
  785. end;
  786. class function CoDocHeadersCls.Create: DocHeaders;
  787. begin
  788.   Result := CreateComObject(Class_DocHeadersCls) as DocHeaders;
  789. end;
  790. class function CoDocHeadersCls.CreateRemote(const MachineName: string): DocHeaders;
  791. begin
  792.   Result := CreateRemoteComObject(MachineName, Class_DocHeadersCls) as DocHeaders;
  793. end;
  794. class function CoDocInputCls.Create: DocInput;
  795. begin
  796.   Result := CreateComObject(Class_DocInputCls) as DocInput;
  797. end;
  798. class function CoDocInputCls.CreateRemote(const MachineName: string): DocInput;
  799. begin
  800.   Result := CreateRemoteComObject(MachineName, Class_DocInputCls) as DocInput;
  801. end;
  802. class function CoDocOutputCls.Create: DocOutput;
  803. begin
  804.   Result := CreateComObject(Class_DocOutputCls) as DocOutput;
  805. end;
  806. class function CoDocOutputCls.CreateRemote(const MachineName: string): DocOutput;
  807. begin
  808.   Result := CreateRemoteComObject(MachineName, Class_DocOutputCls) as DocOutput;
  809. end;
  810. class function CoicErrorCls.Create: icError;
  811. begin
  812.   Result := CreateComObject(Class_icErrorCls) as icError;
  813. end;
  814. class function CoicErrorCls.CreateRemote(const MachineName: string): icError;
  815. begin
  816.   Result := CreateRemoteComObject(MachineName, Class_icErrorCls) as icError;
  817. end;
  818. class function CoicErrorsCls.Create: icErrors;
  819. begin
  820.   Result := CreateComObject(Class_icErrorsCls) as icErrors;
  821. end;
  822. class function CoicErrorsCls.CreateRemote(const MachineName: string): icErrors;
  823. begin
  824.   Result := CreateRemoteComObject(MachineName, Class_icErrorsCls) as icErrors;
  825. end;
  826. class function CoHTMLElementCls.Create: HTMLElement;
  827. begin
  828.   Result := CreateComObject(Class_HTMLElementCls) as HTMLElement;
  829. end;
  830. class function CoHTMLElementCls.CreateRemote(const MachineName: string): HTMLElement;
  831. begin
  832.   Result := CreateRemoteComObject(MachineName, Class_HTMLElementCls) as HTMLElement;
  833. end;
  834. class function CoHTMLFormCls.Create: HTMLForm;
  835. begin
  836.   Result := CreateComObject(Class_HTMLFormCls) as HTMLForm;
  837. end;
  838. class function CoHTMLFormCls.CreateRemote(const MachineName: string): HTMLForm;
  839. begin
  840.   Result := CreateRemoteComObject(MachineName, Class_HTMLFormCls) as HTMLForm;
  841. end;
  842. class function CoHTMLFormsCls.Create: HTMLForms;
  843. begin
  844.   Result := CreateComObject(Class_HTMLFormsCls) as HTMLForms;
  845. end;
  846. class function CoHTMLFormsCls.CreateRemote(const MachineName: string): HTMLForms;
  847. begin
  848.   Result := CreateRemoteComObject(MachineName, Class_HTMLFormsCls) as HTMLForms;
  849. end;
  850. class function CoHTMLAttrCls.Create: HTMLAttr;
  851. begin
  852.   Result := CreateComObject(Class_HTMLAttrCls) as HTMLAttr;
  853. end;
  854. class function CoHTMLAttrCls.CreateRemote(const MachineName: string): HTMLAttr;
  855. begin
  856.   Result := CreateRemoteComObject(MachineName, Class_HTMLAttrCls) as HTMLAttr;
  857. end;
  858. class function CoHTMLAttrsCls.Create: HTMLAttrs;
  859. begin
  860.   Result := CreateComObject(Class_HTMLAttrsCls) as HTMLAttrs;
  861. end;
  862. class function CoHTMLAttrsCls.CreateRemote(const MachineName: string): HTMLAttrs;
  863. begin
  864.   Result := CreateRemoteComObject(MachineName, Class_HTMLAttrsCls) as HTMLAttrs;
  865. end;
  866. procedure TNMHTML.InitControlData;
  867. const
  868.   CEventDispIDs: array[0..12] of DWORD = (
  869.     $FFFFFDA0, $000003F8, $000003F9, $00000001, $00000002, $00000227,
  870.     $00000004, $00000005, $00000006, $00000007, $00000008, $00000009,
  871.     $0000000A);
  872.   CLicenseKey: array[0..36] of Word = (
  873.     $0036, $0036, $0061, $0062, $0037, $0030, $0064, $0030, $002D, $0035,
  874.     $0035, $0064, $0033, $002D, $0031, $0031, $0063, $0066, $002D, $0038,
  875.     $0030, $0034, $0063, $002D, $0030, $0030, $0061, $0030, $0032, $0034,
  876.     $0032, $0034, $0065, $0039, $0032, $0037, $0000);
  877.   CTFontIDs: array [0..7] of DWORD = (
  878.     $FFFFFE00, $0000001B, $0000001C, $0000001D, $0000001E, $0000001F,
  879.     $00000020, $00000021);
  880.   CControlData: TControlData = (
  881.     ClassID: '{B7FC355E-8CE7-11CF-9754-00AA00C00908}';
  882.     EventIID: '{B7FC355D-8CE7-11CF-9754-00AA00C00908}';
  883.     EventCount: 13;
  884.     EventDispIDs: @CEventDispIDs;
  885.     LicenseKey: @CLicenseKey;
  886.     Flags: $00000007;
  887.     Version: 300;
  888.     FontCount: 8;
  889.     FontIDs: @CTFontIDs);
  890. begin
  891.   ControlData := @CControlData;
  892. end;
  893. procedure TNMHTML.InitControlInterface(const Obj: IUnknown);
  894. begin
  895.   FIntf := Obj as IHTML;
  896. end;
  897. procedure TNMHTML.AboutBox;
  898. begin
  899.   ControlInterface.AboutBox;
  900. end;
  901. procedure TNMHTML.RequestDoc(const URL: WideString);
  902. begin
  903.   ControlInterface.RequestDoc(URL);
  904. end;
  905. procedure TNMHTML.RequestAllEmbedded;
  906. begin
  907.   ControlInterface.RequestAllEmbedded;
  908. end;
  909. procedure TNMHTML.Cancel(Message: OleVariant);
  910. begin
  911.   ControlInterface.Cancel(Message);
  912. end;
  913. procedure TNMHTML.BeginPrinting(hDC: Integer; x, y, Width, Height, DefaultHeaders, DefaultTitle: OleVariant);
  914. begin
  915.   ControlInterface.BeginPrinting(hDC, x, y, Width, Height, DefaultHeaders, DefaultTitle);
  916. end;
  917. procedure TNMHTML.PrintPage(hDC, PageNumber: Integer);
  918. begin
  919.   ControlInterface.PrintPage(hDC, PageNumber);
  920. end;
  921. procedure TNMHTML.EndPrinting;
  922. begin
  923.   ControlInterface.EndPrinting;
  924. end;
  925. procedure TNMHTML.AutoPrint(hDC: Integer);
  926. begin
  927.   ControlInterface.AutoPrint(hDC);
  928. end;
  929. function TNMHTML.GetPlainText(selected, fancy: WordBool): WideString;
  930. begin
  931.   Result := ControlInterface.GetPlainText(selected, fancy);
  932. end;
  933. function TNMHTML.HasSelection: WordBool;
  934. begin
  935.   Result := ControlInterface.HasSelection;
  936. end;
  937. procedure TNMHTML.SelectAll;
  938. begin
  939.   ControlInterface.SelectAll;
  940. end;
  941. function TNMHTML.Get_DocInput: DocInput;
  942. begin
  943.   Result := ControlInterface.DocInput;
  944. end;
  945. function TNMHTML.Get_DocOutput: DocOutput;
  946. begin
  947.   Result := ControlInterface.DocOutput;
  948. end;
  949. function TNMHTML.Get_Forms: HTMLForms;
  950. begin
  951.   Result := ControlInterface.Forms;
  952. end;
  953. function TNMHTML.Get_IsPrintingDone(PageNumber: Integer): WordBool;
  954. begin
  955.   Result := ControlInterface.IsPrintingDone[PageNumber];
  956. end;
  957. function TNMHTML.Get_Errors: icErrors;
  958. begin
  959.   Result := ControlInterface.Errors;
  960. end;
  961. function TNMHTML.Get_hWnd: OLE_HANDLE;
  962. begin
  963.   Result := ControlInterface.hWnd;
  964. end;
  965. end.