unit DemoSvr_TLB; // ************************************************************************ // // WARNING // ------- // The types declared in this file were generated from data read from a // Type Library. If this type library is explicitly or indirectly (via // another type library referring to this type library) re-imported,or the // ‘Refresh‘ command of the Type Library Editor activated while editing the // Type Library,the contents of this file will be regenerated and all // manual modifications will be lost. // ************************************************************************ // // PASTLWTR : 1.2 // File generated on 03-4-9 21:09:18 from Type Library described below. // ************************************************************************ // // Type Lib: E:\Delphi面向对象编程思想\示例程序\封装\用COM+封装对象\DemoSvr.tlb (1) // LIBID: {B96FFC20-65BC-11D7-B847-001060806215} // LCID: 0 // Helpfile: // HelpString: DemoSvr Library // DepndLst: // (1) v2.0 stdole,(C:\WINDOWS\SYSTEM\stdole2.tlb) // ************************************************************************ // {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. {$WARN SYMBOL_PLATFORM OFF} {$WRITEABLECONST ON} {$VARPROPSETTER ON} interface uses Windows,ActiveX,Classes,Graphics,StdVCL,Variants; // *********************************************************************// // GUIDS declared in the TypeLibrary. Following prefixes are used: // Type Libraries : LIBID_xxxx // CoClasses : CLASS_xxxx // DISPInterfaces : DIID_xxxx // Non-DISP interfaces: IID_xxxx // *********************************************************************// const // TypeLibrary Major and minor versions DemoSvrMajorVersion = 1; DemoSvrMinorVersion = 0; LIBID_DemoSvr: TGUID = ‘{B96FFC20-65BC-11D7-B847-001060806215}‘; IID_IDemoComObj: TGUID = ‘{B96FFC21-65BC-11D7-B847-001060806215}‘; CLASS_DemoComObj: TGUID = ‘{B96FFC23-65BC-11D7-B847-001060806215}‘; type // *********************************************************************// // Forward declaration of types defined in TypeLibrary // *********************************************************************// IDemoComObj = interface; // *********************************************************************// // Declaration of CoClasses defined in Type Library // (NOTE: Here we map each CoClass to its Default Interface) // *********************************************************************// DemoComObj = IDemoComObj; // *********************************************************************// // Interface: IDemoComObj // Flags: (256) OleAutomation // GUID: {B96FFC21-65BC-11D7-B847-001060806215} // *********************************************************************// IDemoComObj = interface(IUnknown) [‘{B96FFC21-65BC-11D7-B847-001060806215}‘] procedure Drive; stdcall; procedure ride; stdcall; end; // *********************************************************************// // The Class CoDemoComObj provides a Create and CreateRemote method to // create instances of the default interface IDemoComObj exposed by // the CoClass DemoComObj. The functions are intended to be used by // clients wishing to automate the CoClass objects exposed by the // server of this typelibrary. // *********************************************************************// CoDemoComObj = class class function Create: IDemoComObj; class function CreateRemote(const MachineName: string): IDemoComObj; end; implementation uses ComObj; class function CoDemoComObj.Create: IDemoComObj; begin Result := CreateComObject(CLASS_DemoComObj) as IDemoComObj; end; class function CoDemoComObj.CreateRemote(const MachineName: string): IDemoComObj; begin Result := CreateRemoteComObject(MachineName,CLASS_DemoComObj) as IDemoComObj; end; end.
class function CoDemoComObj.Create: IDemoComObj; begin Result := CreateComObject(CLASS_DemoComObj) as IDemoComObj; end;
function CreateComObject(const ClassID: TGUID): IUnknown; begin OleCheck(CoCreateInstance(ClassID,nil,CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,IUnknown,Result)); end;
class function CoDemoComObj.CreateRemote(const MachineName: string): IDemoComObj; begin Result := CreateRemoteComObject(MachineName,CLASS_DemoComObj) as IDemoComObj; end;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。