WEB开发网
开发学院软件开发Delphi Com接口入门细详(一) 阅读

Com接口入门细详(一)

 2006-02-04 13:53:36 来源:WEB开发网   
核心提示:Com接口入门细详(一) 接口的出现更递了c++的多重的继承,在应用中相当重要一部分,Com接口入门细详(一),然而接口中最主要的一块又是com接口(微软提供的接口标准),接口只是服务声明,而在一定形式并没有实现类方法,下面是一段简单的代码让我们来看一下,unit Unit1;interfaceusesWindows,
Com接口入门细详(一)

接口的出现更递了c++的多重的继承,在应用中相当重要一部分,然而接口中最主要的一块又是com接口(微软提供的接口标准),接口只是服务声明,而在一定形式并没有实现类方法。
下面是一段简单的代码让我们来看一下。
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls;

type
 TForm1 = class(TForm)
  Button1: TButton;
  Button2: TButton;
  Edit1: TEdit;
  Edit2: TEdit;
  PRocedure FormCreate(Sender: TObject);
  procedure Button1Click(Sender: TObject);
  procedure Button2Click(Sender: TObject);
 private
  { Private declarations }
 public
  { Public declarations }
 end;
 // 定义接口ISampleInterface
 ISampleInterface= Interface(IUnknown)//所有接口都由IUnknown继承,com接口也不例外
['{48616967-425B-4E90-AA8B-F88FFC26D1D7}']//GUID,唯一的值,可以通过ctrl+shift+g来产生
  function GetName:string;
  procedure SetName(s:string);//方法定义
 end;
 // 实现接口ISampleInterface
 TSampleImpl=class(TInterfacedObject,ISampleInterface)//接口继承
 public
 __Name: string;
 function GetName:string;
 procedure SetName(s:string);
 end;
var
 Form1: TForm1;
 MyInterface:ISampleInterface;

implementation

{$R *.dfm}
function TSampleImpl.GetName:string;//方法实现
begin
 GetName:=__Name;
end;
procedure TSampleImpl.SetName(s:string);
begin
 __Name:= s;
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 MyInterface:= TSampleImpl.Create;//建立对象
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 MyInterface.SetName(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
 Edit2.Text:=MyInterface.GetName;
end;

Tags:Com 接口 入门

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接