国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Com接口入門細詳(二)

2019-11-18 18:12:19
字體:
來源:轉載
供稿:網友
 
Com接口入門細詳(二)
上一篇,簡單的詳細了com的應用,不過那不是com接口發揮作用所在,要不這種東東早就淘汰了,com的接口真正作用其實就是提供實現對象給客戶程序利用,而com又可分為進程內com(dll文件),進程外com(exe文件).
現在讓我們來了解一下進程內com接口的應用。
Com即然提供其中的類方法給客戶程序,那么把將要生成的dll文件,com對象表示為服務端
(為人民服務嘛,呵呵)
當然建com服務器
新建activeX library
在其中新建com對象,這基本應該大家會的吧。
主要還是分析代碼
unit Unit1;

{$WARN SYMBOL_PLATFORM OFF}

interface

uses
  Windows, ActiveX, Classes, ComObj;

type
  ICalculator= interface
  ['{214C8A93-C235-45DB-BEDB-460DA54F3B01}']
  function Add(x,y:Integer):Integer;safecall;
  function Mult(x,y:Integer):Integer;safecall;
  end;
  TCalculator = class(TComObject, ICalculator)
  注冊表尋找guid值  
  type
    ICalculator= interface
    ['{214C8A93-C235-45DB-BEDB-460DA54F3B01}']
    function Add(x,y:Integer):Integer;safecall;
    function Mult(x,y:Integer):Integer;safecall;
  end;

  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    FCal:ICalculator;
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
uses ComServ;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit3.Text:= IntToStr(FCal.Add(StrToInt(Edit1.Text), StrToInt(Edit2.Text)));
  Edit4.Text:= IntToStr(FCal.Mult(StrToInt(Edit1.Text), StrToInt(Edit2.Text)));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  CoCreateInstance(Class_Calculator,nil,CLSCTX_INPROC_SERVER,ICalculator,FCal);//建立com對象實例
end;

end.
――――――――――――――――――――――――――――――――――――
搞定當然我們要向系統注冊這個com對象文件,要不客戶如何應用,
當然注冊這個dll依照這個guid值的來的,這是唯一的,
注冊com對象文件
Regsvr32 dll文件路徑
――――――――――――――――
對于上一篇的代碼還不夠簡單,讓大家再簡單的com接口應用
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
   end;
procedure TForm1.Button1Click(Sender: TObject);
var pggpjj:ipggpjj;

begin
pggpjj:=Tpggpjj.Create;
pggpjj.pggpjj1;

end;


上一篇:在文件夾添加菜單刪除臨時文件

下一篇:獲取第一個光驅盤符

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 望江县| 顺平县| 乐业县| 青州市| 永丰县| 奈曼旗| 锦屏县| 鄂伦春自治旗| 贵德县| 闽侯县| 安阳县| 同德县| 江北区| 阳山县| 中山市| 莆田市| 砀山县| 余庆县| 湖口县| 始兴县| 昌平区| 连州市| 吉隆县| 泗洪县| 电白县| 萨嘎县| 石阡县| 湾仔区| 娱乐| 密云县| 西宁市| 教育| 焦作市| 顺平县| 九龙县| 高邮市| 福清市| 长岭县| 吴川市| 大丰市| 灌阳县|