Delphi

本类阅读TOP10

·游戏外挂设计技术探讨①
·如何使用Delphi设计强大的服务器程序
·分布式网络考试系统原型分析及实现
·用DLL方式封装MDI子窗体。
·使用HOOK随心监视Windows
·Delphi 水晶报表打包解决
·url编码与解码工具附代码
·工人线程中关闭窗体的实现
·hdsi2.0 sql注入部分抓包分析语句
·Borland Delphi 2005 下载

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
Com接口入门细详(一)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

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;




相关文章

相关软件




月光软件程序下载编程文档电脑教程网站设计网址导航网络文学游戏天地幽默笑话生活休闲写作范文安妮宝贝
电脑技术编程开发网络专区谈天说地情感世界游戏元素分类游戏热门游戏体育运动手机专区业余爱好影视沙龙
音乐天地数码广场教育园地科学大观古今纵横谈股论金人文艺术医学保健动漫图酷二手专区地方风情各行各业

月光软件站·版权所有