熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI基礎教程:對象鏈接與嵌入(二)[4]

2013-11-23 17:51:12  來源: Delphi編程 

   自動化另一程序

  每個服務器在系統注冊中有一個叫ProgID的關鍵定主要用以控制器辨識服務器任何控制器可以用ProgID號來創建OLE對象實例例程AutoForm是控制器程序它在其主窗體創建了OLE對象實例

  procedure TMainFormFormCreate(Sender : TObject)

  begin

  try

  MemoEdit := CreateOleObject(MemoEditApplication

  except

  MessageDlg(

  An instance of the MemoEdit ApplicationOLE Automation Class could

  not be createdMake sure that the MemoEdit application has been registered

  using a MemoEdit|regservercommand line

  mtError[mbok]

  Halt;

  end;

  end;

  控制器創建了OLE自動化對象實例後可對其進行操縱OLE自動對象包括屬性和方法雖然OLE自動化對象與面向對象Pascal中的對象不是同一概念但Delphi允許使用與類似的語法對OLE對象的方法進行調用

  AutoForm的很多過程引用了OLE自動化對象的方法

  procedure TMainFormTileButtonClick(Sender : Tobject)

  begin

  MemoEditTileWindow;

  end;

  其中TileWindows是OLE對象TMemoApp中定義的方法

  AutoForm還通過TMemoApp的NewMemo方法獲得了對服務器內部OLE對象TMemoDoc 的引用

  procedure TMainFormCreateButtonClick(Sender : TObject)

  var

  I : Integer;

  begin

  CloseMemo

  for I := to do Memos[] := MemoEditNewMemo;

  end;

  其中NewMemo在MemoAuto單元中定義如下

  function IMemoAppNewMemo : Variant;

  begin

  Result := MainFormCreateMemo( OleObject;

  end;

  控制器在獲得服務器的內部OLE對象後可以引用其方法

  procedure TMainFormAddTextButtonClick(SenderTObject)

  var

  I : Integer;

  begin

  for I := to do

  if not var IsEmpty(Memo[I]) then

  Memo[I]Insert{This text was added through OLE Automation##

  end;

  Insert是TMemoDoc中定義的方法用以在子窗體中插入字符串

  返回目錄DELPHI基礎教程

       編輯推薦

       Java程序設計培訓視頻教程

       JEE高級框架實戰培訓視頻教程

  Visual C++音頻/視頻技術開發與實戰

  Oracle索引技術

  ORACLEG數據庫開發優化指南

  Java程序性能優化讓你的Java程序更快更穩定

  C嵌入式編程設計模式

  Android游戲開發實踐指南

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25218.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.