AspTest1_TLB.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:10k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit AspTest1_TLB;
  2. // ************************************************************************ //
  3. // WARNING                                                                    
  4. // -------                                                                    
  5. // The types declared in this file were generated from data read from a       
  6. // Type Library. If this type library is explicitly or indirectly (via        
  7. // another type library referring to this type library) re-imported, or the   
  8. // 'Refresh' command of the Type Library Editor activated while editing the   
  9. // Type Library, the contents of this file will be regenerated and all        
  10. // manual modifications will be lost.                                         
  11. // ************************************************************************ //
  12. // PASTLWTR : $Revision:   1.81  $
  13. // File generated on 8/3/99 12:15:54 PM from Type Library described below.
  14. // *************************************************************************//
  15. // NOTE:                                                                      
  16. // Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties  
  17. // which return objects that may need to be explicitly created via a function 
  18. // call prior to any access via the property. These items have been disabled  
  19. // in order to prevent accidental use from within the object inspector. You   
  20. // may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively   
  21. // removing them from the $IFDEF blocks. However, such items must still be    
  22. // programmatically created via a method of the appropriate CoClass before    
  23. // they can be used.                                                          
  24. // ************************************************************************ //
  25. // Type Lib: C:md5codePart520AspTestAspTest.tlb (1)
  26. // IIDLCID: {1F70FA60-499C-11D3-B9F1-00000100A27B}
  27. // Helpfile: 
  28. // DepndLst: 
  29. //   (1) v2.0 stdole, (C:WINDOWSSYSTEMSTDOLE2.TLB)
  30. //   (2) v4.0 StdVCL, (C:WINDOWSSYSTEMSTDVCL40.DLL)
  31. // ************************************************************************ //
  32. {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
  33. interface
  34. uses Windows, ActiveX, Classes, Graphics, OleServer, OleCtrls, StdVCL;
  35. // *********************************************************************//
  36. // GUIDS declared in the TypeLibrary. Following prefixes are used:        
  37. //   Type Libraries     : LIBID_xxxx                                      
  38. //   CoClasses          : CLASS_xxxx                                      
  39. //   DISPInterfaces     : DIID_xxxx                                       
  40. //   Non-DISP interfaces: IID_xxxx                                        
  41. // *********************************************************************//
  42. const
  43.   // TypeLibrary Major and minor versions
  44.   AspTest1MajorVersion = 1;
  45.   AspTest1MinorVersion = 0;
  46.   LIBID_AspTest1: TGUID = '{1F70FA60-499C-11D3-B9F1-00000100A27B}';
  47.   IID_Iasptest: TGUID = '{1F70FA61-499C-11D3-B9F1-00000100A27B}';
  48.   CLASS_asptest: TGUID = '{1F70FA63-499C-11D3-B9F1-00000100A27B}';
  49. type
  50. // *********************************************************************//
  51. // Forward declaration of types defined in TypeLibrary                    
  52. // *********************************************************************//
  53.   Iasptest = interface;
  54.   IasptestDisp = dispinterface;
  55. // *********************************************************************//
  56. // Declaration of CoClasses defined in Type Library                       
  57. // (NOTE: Here we map each CoClass to its Default Interface)              
  58. // *********************************************************************//
  59.   asptest = Iasptest;
  60. // *********************************************************************//
  61. // Interface: Iasptest
  62. // Flags:     (4416) Dual OleAutomation Dispatchable
  63. // GUID:      {1F70FA61-499C-11D3-B9F1-00000100A27B}
  64. // *********************************************************************//
  65.   Iasptest = interface(IDispatch)
  66.     ['{1F70FA61-499C-11D3-B9F1-00000100A27B}']
  67.     procedure OnStartPage(const AScriptingContext: IUnknown); safecall;
  68.     procedure OnEndPage; safecall;
  69.     procedure ShowData; safecall;
  70.   end;
  71. // *********************************************************************//
  72. // DispIntf:  IasptestDisp
  73. // Flags:     (4416) Dual OleAutomation Dispatchable
  74. // GUID:      {1F70FA61-499C-11D3-B9F1-00000100A27B}
  75. // *********************************************************************//
  76.   IasptestDisp = dispinterface
  77.     ['{1F70FA61-499C-11D3-B9F1-00000100A27B}']
  78.     procedure OnStartPage(const AScriptingContext: IUnknown); dispid 1;
  79.     procedure OnEndPage; dispid 2;
  80.     procedure ShowData; dispid 3;
  81.   end;
  82. // *********************************************************************//
  83. // The Class Coasptest provides a Create and CreateRemote method to          
  84. // create instances of the default interface Iasptest exposed by              
  85. // the CoClass asptest. The functions are intended to be used by             
  86. // clients wishing to automate the CoClass objects exposed by the         
  87. // server of this typelibrary.                                            
  88. // *********************************************************************//
  89.   Coasptest = class
  90.     class function Create: Iasptest;
  91.     class function CreateRemote(const MachineName: string): Iasptest;
  92.   end;
  93. // *********************************************************************//
  94. // OLE Server Proxy class declaration
  95. // Server Object    : Tasptest
  96. // Help String      : asptest Object
  97. // Default Interface: Iasptest
  98. // Def. Intf. DISP? : No
  99. // Event   Interface: 
  100. // TypeFlags        : (2) CanCreate
  101. // *********************************************************************//
  102. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  103.   TasptestProperties= class;
  104. {$ENDIF}
  105.   Tasptest = class(TOleServer)
  106.   private
  107.     FIntf:        Iasptest;
  108. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  109.     FProps:       TasptestProperties;
  110.     function      GetServerProperties: TasptestProperties;
  111. {$ENDIF}
  112.     function      GetDefaultInterface: Iasptest;
  113.   protected
  114.     procedure InitServerData; override;
  115.   public
  116.     constructor Create(AOwner: TComponent); override;
  117.     destructor  Destroy; override;
  118.     procedure Connect; override;
  119.     procedure ConnectTo(svrIntf: Iasptest);
  120.     procedure Disconnect; override;
  121.     procedure OnStartPage(const AScriptingContext: IUnknown);
  122.     procedure OnEndPage;
  123.     procedure ShowData;
  124.     property  DefaultInterface: Iasptest read GetDefaultInterface;
  125.   published
  126. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  127.     property Server: TasptestProperties read GetServerProperties;
  128. {$ENDIF}
  129.   end;
  130. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  131. // *********************************************************************//
  132. // OLE Server Properties Proxy Class
  133. // Server Object    : Tasptest
  134. // (This object is used by the IDE's Property Inspector to allow editing
  135. //  of the properties of this server)
  136. // *********************************************************************//
  137.  TasptestProperties = class(TPersistent)
  138.   private
  139.     FServer:    Tasptest;
  140.     function    GetDefaultInterface: Iasptest;
  141.     constructor Create(AServer: Tasptest);
  142.   protected
  143.   public
  144.     property DefaultInterface: Iasptest read GetDefaultInterface;
  145.   published
  146.   end;
  147. {$ENDIF}
  148. procedure Register;
  149. implementation
  150. uses ComObj;
  151. class function Coasptest.Create: Iasptest;
  152. begin
  153.   Result := CreateComObject(CLASS_asptest) as Iasptest;
  154. end;
  155. class function Coasptest.CreateRemote(const MachineName: string): Iasptest;
  156. begin
  157.   Result := CreateRemoteComObject(MachineName, CLASS_asptest) as Iasptest;
  158. end;
  159. procedure Tasptest.InitServerData;
  160. const
  161.   CServerData: TServerData = (
  162.     ClassID:   '{1F70FA63-499C-11D3-B9F1-00000100A27B}';
  163.     IntfIID:   '{1F70FA61-499C-11D3-B9F1-00000100A27B}';
  164.     EventIID:  '';
  165.     LicenseKey: nil;
  166.     Version: 500);
  167. begin
  168.   ServerData := @CServerData;
  169. end;
  170. procedure Tasptest.Connect;
  171. var
  172.   punk: IUnknown;
  173. begin
  174.   if FIntf = nil then
  175.   begin
  176.     punk := GetServer;
  177.     Fintf:= punk as Iasptest;
  178.   end;
  179. end;
  180. procedure Tasptest.ConnectTo(svrIntf: Iasptest);
  181. begin
  182.   Disconnect;
  183.   FIntf := svrIntf;
  184. end;
  185. procedure Tasptest.DisConnect;
  186. begin
  187.   if Fintf <> nil then
  188.   begin
  189.     FIntf := nil;
  190.   end;
  191. end;
  192. function Tasptest.GetDefaultInterface: Iasptest;
  193. begin
  194.   if FIntf = nil then
  195.     Connect;
  196.   Assert(FIntf <> nil, 'DefaultInterface is NULL. Component is not connected to Server. You must call ''Connect'' or ''ConnectTo'' before this operation');
  197.   Result := FIntf;
  198. end;
  199. constructor Tasptest.Create(AOwner: TComponent);
  200. begin
  201.   inherited Create(AOwner);
  202. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  203.   FProps := TasptestProperties.Create(Self);
  204. {$ENDIF}
  205. end;
  206. destructor Tasptest.Destroy;
  207. begin
  208. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  209.   FProps.Free;
  210. {$ENDIF}
  211.   inherited Destroy;
  212. end;
  213. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  214. function Tasptest.GetServerProperties: TasptestProperties;
  215. begin
  216.   Result := FProps;
  217. end;
  218. {$ENDIF}
  219. procedure Tasptest.OnStartPage(const AScriptingContext: IUnknown);
  220. begin
  221.   DefaultInterface.OnStartPage(AScriptingContext);
  222. end;
  223. procedure Tasptest.OnEndPage;
  224. begin
  225.   DefaultInterface.OnEndPage;
  226. end;
  227. procedure Tasptest.ShowData;
  228. begin
  229.   DefaultInterface.ShowData;
  230. end;
  231. {$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  232. constructor TasptestProperties.Create(AServer: Tasptest);
  233. begin
  234.   inherited Create;
  235.   FServer := AServer;
  236. end;
  237. function TasptestProperties.GetDefaultInterface: Iasptest;
  238. begin
  239.   Result := FServer.DefaultInterface;
  240. end;
  241. {$ENDIF}
  242. procedure Register;
  243. begin
  244.   RegisterComponents('Servers',[Tasptest]);
  245. end;
  246. end.