六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

使用 COM+ 參數化對象結構編程技術

[摘要]作者: 陳一蛟 一、引言COM+ 服務技術的一個核心理念就是系統本身提供完成許多面向企業應用開發者的通用基本模組(如線程、物件資源池管理、事務服務管理、事件服務管理等),讓系統設計人員把精力集中在企業應用本身的業務邏輯上。COM+提供了許多新的服務和一致的管理運行環境,它還支援申明性編程模型(de...
作者: 陳一蛟

一、引言

COM+ 服務技術的一個核心理念就是系統本身提供完成許多面向企業應用開發者的通用基本模組(如線程、物件資源池管理、事務服務管理、事件服務管理等),讓系統設計人員把精力集中在企業應用本身的業務邏輯上。

COM+提供了許多新的服務和一致的管理運行環境,它還支援申明性編程模型(declarative programming model),也就是說,開發人員可以按盡可能通用的方式開發元件程式,把一些細節留到配置時刻再確定。例如,在開發一個COM+元件,它支援事務處理特性,但是我們在開發元件的時候,並不確定它是否使用事務處理特性,而把是否支援事務處理特性留待配置時刻再作決定。有的應用可能會需要事務處理特性,而有的應用可能並不需要,我們可以通過COM+管理程式配置元件的屬性來決定元件是否支援事務處理特性。MTS安全模型實際上是一個典型的申明性編程技術,它把元件的安全角色資訊留到配置時刻再給出確切的定義,而非編程時刻。COM+繼承了MTS的安全模型。

利用COM+的服務和管理工具,開發一個COM+元件要比開發一個COM元件容易得多,因爲COM+元件實際上是建立在COM+系統服務基礎上的應用程式,我們可以避免底層繁瑣的細節處理,如多線程的並發處理。通過COM+系統服務,在獲得可靠性的同時,也使的元件和應用程式更趨於標準化,在更廣泛的範圍內體現元件或者應用的多態性。

COM+ 的推出終于有機的統一了 COM/DCOM/MTS 的編程模式,使得我們不需要區分我們編寫的是什么類型的COM 對象,所編寫的對象既是 COM 對象也是 COM+對象;在 COM+ 中物件環境和截取(intercept) 技術都被合併到標準的 COM代理/存根中,所以可以通過標準得 CoCreateInstance 方法來創建物件,並且通過CreateInstance方法創建的MTS 元件同樣可以在COM+ 正常運行和完全相容。

二、參數化 COM+ 對象結構

在COM+ 中引入了許多新的服務何功能,參數化對象結構就是其中一項功能。本功能是用來實現為COM+對象創建提供一個字串參數,組件對象通過IObjectConstruct接口來查詢管理員配置的字串參數。參數化對象結構的一個典型用途就是可以應用到程序中作為 ADO 的連接字串參數。

IObjectConstruct 讓的方法或對象通過參數來控制相關對象處理功能,我們必須使用接口對象來實現此接口,當管理員將組件對象的對象結構配置參數設置有效后,COM+ 將調用 IObjectConstruct.Construct 通過IObjectConstructString來獲取參數化 COM+ 對象結構中的字串參數。

IObjectConstructString 接口用來存取建立者字符串。本對象是一個Automation COM 對象,但無須通過接口對象來實現他,COM+ 支持在調用 IObjectConstruct.Construct 時暴露此對象。

如何為元件輸入對象結構字串。

1、在組件管理器中選取相應的組件,右鍵彈出快捷菜單,然后點擊屬性

2、在組件屬性對話框,點擊激活屬性頁。

3、使能對象結構,輸入建立者字符串(例如一個 ADO 連接字串)。

三、程序實現

實現COMPlusServer

1、Import Type library->COM+ Services Type Library->Create Unit

2、建立一個新的 ActiveX Library Project

3、創建一個新的 MTS Data Module

4、到 Type Library 中選取 Project->Uses->點擊右鍵選擇 Show All Type Library->選擇COM+

Services Type Library

5、選擇 COM 的接口對象->Implements->點擊右鍵選擇 Insert Interface ->IObjectConstruct

6、在接口中定義一個新的的方法-> GetConString

7、到組件對象實現單元中實現以下代碼:

private

{ Private declarations }

objSonStr: IObjectConstructString;

StrDemo: WideString;

function TXXXServer.Construct(const pCtorObj: IDispatch): HResult;

begin

pCtorObj.QueryInterface(IID_IObjectConstructString, objSonStr);

StrDemo := objSonStr.Get_ConstructString;

end;

procedure TXXXServer.GetConString;

begin

if trim(StrDemo) = '' then

ShowMessage('沒有字串')

else

ShowMessage(StrDemo);

end;

客戶端程序

客戶端程序是最一般化的 Delphi 代碼:

procedure TForm1.Button1Click(Sender: TObject);

begin

DCOMConnection1.AppServer.GetConString;

end;


主站蜘蛛池模板: 日韩毛片免费视频一级特黄 | 色综合中文字幕色综合激情 | 性生大片免费看 | 最近中文字幕资源 | 中文字幕在线免费观看视频 | 又大又粗又长又硬好爽国产 | 伊人中文字幕在线观看 | 日韩精品特黄毛片免费看 | 日本视频在线免费观看 | 午夜在线精品不卡国产 | 日本视频免费在线观看 | 婷婷六月丁香色婷婷网 | 亚洲a网| 午夜影院18| 天天做天天爱天天一爽一毛片 | 网站一级片| 天堂在线xw | 青娱乐色| 青草视频在线观看免费 | 青青伊人久久 | 手机在线观看亚洲国产精品 | 欧美特黄a级高清免费看片 欧美特黄a级高清免费大片 | 青春草在线视频观看 | 中文字幕在线观看日本 | 在线视频一区二区 | 一区二区网站在线观看 | 亚洲一区二区在线播放 | 天美传媒一区二区三区 | 日本大片在线免费观看 | 四虎在线播放免费永久视频 | 亚洲网址在线 | 中文线码中文高清播放中 | 天堂日本岛a | 天天干天天干天天干天天干天天干 | 青娱乐最新 | 性色午夜视频免费男人的天堂 | 天堂在线资源最新版 | 五月激情啪啪 | 亚洲黄色成人 | 四虎影在线永久免费观看 | 日本高清在线播放一区二区三区 |