用程式設定COM+應用程式的屬性。 (轉)
用設定COM+應用程式的屬性。:namespace prefix = o ns = "urn:schemas--com::office" />
今天從別人機器上匯出了個程式,註冊在自己的機器上,在服務裡檢視COM+應用程式的屬性,發現代理程式有一個屬性是可以修改的,就是名稱,在更改了此名稱後,程式中不需要用CreateRemote,也可以申請到遠端介面指標。可是我們應該給一個友好的介面,不能總讓使用者開啟元件服務吧,來,我們寫個程式吧。
這次我們只用好啦(唉,懶就一個字^_^)
定義三個變數
CataColl:TCOMAdminCatalogCollection;
CataObj:TCOMAdminCatalog;
COMADminCata:TCOMAdminCatalog;
begin
COMADminCata := TCOMAdminCatalog.Create(self);
CataColl := COMADminCata.GetCollection('Applications');
CataColl.Populate;
for i := 0 to CataColl.Count - 1 do
begin
CataObj := CataColl.Get_Item(i);
if CataObj.Name = 你的應用程式名 then
begin
CataObj.Set_Value('ApplicationServerName',新伺服器名);
CataColl.SaveChanges; //記著儲存修改
break;
end;
end;
end;
程式碼並不長,關鍵的函式是Set_Value,函式原型如下:
procedure Set_Value(const bstrPropName: WString; retval: OleVariant);
關鍵是這個bstrPropName――屬性的名稱,字串型別,到底是什麼字串呢?我翻了一通MSDN,還是沒找到到底該用什麼值,瞎猜了一通也不對。就是搞笑,給了一個函式,卻不給怎麼,或許是我笨,沒找到。不過笨人也有笨辦法,把這些屬性值找出來。
TCOMAdminCatalogCollection這個變數儲存的是一個集合(Collection),變數透過GetCollection函式來賦值,MSDN中有對這些集合的說明,找到了一個PropertyInfo集合(看著像),於是把它取了出來,用for迴圈進行遍歷,就可以得到相應的屬性名了,程式碼如下:
CataColl := CataColl.GetCollection('PropertyInfo',CataObj.Get_Key);
CataColl.Populate;
for j := 0 to CataColl.Count - 1 do
begin
CataObj := CataColl.Get_Item(j);
self.Memo1.Lines.Add(CataObj.Name);
end;
從Memo中就可以讀出各個屬性值了。對COM+目錄的操作就是一個取集合和遍歷集合的過程,大家自己去舉一反三吧^_^
以下是PropertyInfo集合的各個屬性名稱,也就是Set_Value方法的第一個引數bstrPropName的值:
Name
ID
Description
IsSystem
Authentication
ShutdownAfter
RunForever
Identity
Pass
Activation
Changeable
Deleteable
Createy
AccessChecksLevel
ApplicationAccessChecksEnabled
CommandLine
ImpersonationLevel
CRMEnabled
AuthenticationCapability
3GigSupportEnabled
QueuingEnabled
QueueListenerEnabled
EventsEnabled
ApplicationProxy
ApplicationProxyServerName
CRMLogFile
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-956461/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 設定Adobe Air應用程式屬性AI
- 【轉】設定Qt應用程式圖示及應用程式名QT
- Android應用程式的debug屬性Android
- 應用程式池屬性詳解及配置
- Mac基礎設定—應用程式Mac
- 深入解析 Java 物件導向程式設計與類屬性應用Java物件程式設計
- 用VB編寫COM+應用時碰到問題? (轉)
- ADO程式設計應用 (轉)程式設計
- 設定Windows應用程式啟動窗體Windows
- 用VB設計能適應各種顯示屬性的介面 (轉)
- 用程式設定列印紙張型別 (轉)型別
- DW屬性設定的總結 (轉)
- 建立Java的應用程式(轉)Java
- Vector在Java程式設計中的應用 (轉)Java程式設計
- Notepad++設定為預設應用程式
- Fedora Core 5.0 中新增字型及應用程式字型設定方法(轉)
- 檔案屬性-3.2.linux應用程式設計和網路程式設計第2部分Linux程式設計
- 好程式設計師web前端詳解HTML5中download屬性的應用程式設計師Web前端HTML
- 適用於iOS的應用程式程式設計指南(七)iOS程式設計
- Matlab與C語言程式的應用程式設計介面(轉)MatlabC語言程式設計
- [譯] 設計 QA 在應用程式設計中的重要性程式設計
- 談Delphi程式設計中資原始檔的應用 (轉)程式設計
- Attribute在.NET程式設計的應用(六) (轉)程式設計
- Spring Boot 2.0.2 參考指南(通用的應用程式屬性 ②)中文文件Spring Boot
- 確保應用程式安全性
- 2.3 應用程式容器中的應用程式概述
- 程式設計使用WMI 控制連線屬性 (轉)程式設計
- Microsoft Windows 2000 應用程式相容性 1 (轉)ROSWindows
- Java桌面應用程式設計:SWT 簡介(轉)Java程式設計
- DirectShow應用程式設計介紹(翻譯) (轉)程式設計
- 5種設定ASP.NET Core應用程式URL的方法ASP.NET
- webservice設定--“/WebServiceForTest”應用程式中的伺服器錯誤。Web伺服器
- Attribute在.net程式設計中的應用(一) (轉)程式設計
- Attribute 在.NET程式設計中的應用(二) (轉)程式設計
- Attribute在.NET程式設計中的應用(四) (轉)程式設計
- Attribute在.NET程式設計中的應用(五) (轉)程式設計
- Attribute在.NET程式設計中的應用(三) (轉)程式設計
- 學用Java Web Start 部署應用程式 (轉)JavaWeb