【正文】
end。 var I : Integer。 39。 begin CloseMemo for I := 1 to 3 do Memos[2] := 。 其中 TileWindows 是 OLE 對(duì) 象 TMemoApp 中定義的方法。 OLE自動(dòng)對(duì)象包括屬性和方法,雖然 OLE 自動(dòng)化對(duì)象與面向?qū)ο?Pascal 中的對(duì)象不是同一概念,但 Delphi 允許使用與類似的語(yǔ)法對(duì) OLE 對(duì)象的方法進(jìn)行調(diào)用。, mtError,[mbok],0) Halt。39。任何控制器可以用 ProgID 號(hào)來(lái)創(chuàng)建 OLE 對(duì)象實(shí)例。 在注冊(cè)代碼中包括一個(gè)自動(dòng)產(chǎn)生的 ID 號(hào),這個(gè) ID 號(hào)是全局唯一的,通常不要修改。當(dāng)服務(wù)器在 Windows 中注冊(cè) OLE 對(duì)象, 就以這個(gè)名字在系統(tǒng)注冊(cè)。 創(chuàng)建進(jìn)程外服務(wù)器: Delphi 應(yīng)用程序; begin 之后加入以下代碼; if Automation,Server Registration then Exit。 exports DLLGetClassObject,DLLCanUnloadNow。 創(chuàng)建 OLE 自動(dòng)化服務(wù)器第一步是創(chuàng)建服務(wù)器自身。把 ShutDown 設(shè)置成True,則在最后一個(gè) OLE 對(duì)象釋放時(shí)服務(wù)器不關(guān)閉。 表 StartMode 的取值及含義 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 取值 含義 ─────────────────────────────── SmStandAlone 用戶啟動(dòng)應(yīng)用程序 SmAutomation Windows 為創(chuàng)建 OLE 對(duì)象而啟動(dòng)程序 SmRegSever 應(yīng)用程序僅為注冊(cè)一個(gè)或多個(gè) OLE 對(duì)象而啟動(dòng) SmUnregSever 應(yīng)用程序僅為注銷一個(gè)或多個(gè) OLE 對(duì)象而啟動(dòng) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 當(dāng) StartMode 模式是 SmAutomation,而用戶不再需要服務(wù)器時(shí)發(fā)生OnLastRelease 事件。 表 實(shí)例的取值及含義 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ instancing 類型 含義 ─────────────────────────────── ─────── internal OLE 對(duì)象是應(yīng)用程序的內(nèi)部對(duì)象,對(duì)象不需要注冊(cè),外部 進(jìn)程不能創(chuàng) 建此對(duì)象 Single 每個(gè)服務(wù)器實(shí)例只能輸出一個(gè) OLE 對(duì)象實(shí)例, 若控制器需要多個(gè) OLE 對(duì)象實(shí)例, WIndows 為第一個(gè) OLE 對(duì)象創(chuàng)建一個(gè)服務(wù)器實(shí)例 Multiple 一個(gè)服務(wù)器能創(chuàng)建和輸出多個(gè) OLE 對(duì)象實(shí)例, 進(jìn)程內(nèi)服務(wù)器大多是 Multiple 類型 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 每個(gè)使用 OLEAuto 單元的工程文件自動(dòng)地?fù)碛幸粋€(gè)叫 Automation 的對(duì)象,它是非可視對(duì) 象。 有些 OLE 自動(dòng)化服務(wù)器只能創(chuàng)建和輸出一個(gè) OLE 對(duì)象,有些服務(wù)器則可以處理多個(gè) OLE 對(duì)象,另外一些服務(wù)器不能輸出 OLE 對(duì)象,只能在程序內(nèi)部使用 OLE對(duì)象。 進(jìn)程內(nèi)服務(wù)器是輸出 OLE 自 動(dòng)化對(duì)象的動(dòng)態(tài)鏈接庫(kù)。 end。 function TMemoApp,NewMemo : Variant。當(dāng)使用完一個(gè) OLE 對(duì)象,調(diào)用 Release 方法, Release 可減少引用數(shù)目,當(dāng)引用數(shù)目為零時(shí),調(diào)用 Free 方法釋放對(duì)象。 注冊(cè)的信息用以唯一辨識(shí)服務(wù)器對(duì)象。 begin Automation,RegisterClass(AutoClassInfo) end。{FIFF4880 200D 11CF BDCF D020AFOE5B81}39。如果要使外部控制器對(duì)自動(dòng)化對(duì)象進(jìn)行操作,則要在聲明自動(dòng)化對(duì)象的單元中調(diào)用 Automation. RegisterClass