1 UnitUnit1;2 3 Interface4 5 uses6 Windows, Messages, sysutils, variants, Classes, Graphics, Controls, Forms,7 Dialogs, Stdctrls;8 9 typeTenTForm1 =class(Tform) One Button1:tbutton; A procedureButton1Click (sender:tobject); - Private - {Private Declarations} the Public - {Public Declarations} - End; - +IMyInterface =Interface(IUnknown) - procedureShowstring (S:string); + End; A atTmyclass =class(Tinterfacedobject, IMyInterface) - Public - procedureShowstring (S:string); - End; - -Tsecondclass =class(Tinterfacedobject, IMyInterface) in protected - Myinterface:imyinterface; to protected + PropertyMy:imyinterfaceReadMyInterfaceImplementsIMyInterface; - Public the Constructor Create(Aowner:tobject);Overload; * End; $ Panax Notoginseng - var the Form1:tform1; + A Implementation the + {$R *.DFM} - $ procedureTform1.button1click (sender:tobject); $ var - Myclass:tmyclass; - Mysecondclass:tsecondclass; the begin -MyClass: = Tmyclass.Create;WuyiMysecondclass: = Tsecondclass.Create(Nil); theMyClass. Showstring ('SSS'); -MySecondclass.my.ShowString ('AAA'); Wu MyClass. Free; - Mysecondclass.free; About End; $ - {Tmyclass} - - procedureTmyclass.showstring (S:string); A begin + ShowMessage (s); the End; - $ {Tsecondclass} the the ConstructorTsecondclass.Create(aowner:tobject); the begin theMyInterface: = Tmyclass.Create; - End; in the End.
Delphi interface Managed Implementation