linux社区爱心援助Linux认证系列教程业界动态站务新闻公司招聘网络学院网址大全LPI专题CISCO专题
设为首页
加入收藏
管理团队
JSP  
JAVA  
PERL  
 您的位置:首页 > 开发语言 > Delphi >
栏目导栏
  php
  JSP
  ASP
  asp.net
  JAVA
  c/c++/c#
  perl
  JavaScript
  Basic
  Delphi
资料搜索
热门文章
·HexToStr函数和StrToHex函数
·Delphi中的进制转换
·delphi轻松设置无边框透明窗体
·delphi第三方控件安装(Ehlib)
·DELPHI组件安装全攻略
·delphi动态创建控件
·开发工具比较Visual C++ VS De
·delphi完整身份证效验程序实例
·delphi中的Format函数详解
·delphi编程获取打印机的打印任
·如何判断文本文件的编码格式
·深入研究Variant数组
·用delphi编写网络游戏的外挂
·Delphi技巧-用户自定义数据类型
·delphi设置控件透明
最新文章
·在应用程序中跟踪MOUSE的坐标
·压缩和修复MS Access 2000文件
·DELPHI 6.0 动画制做
·怎样在Delphi中调用LastError信
·怎样得到主域服务器名称
·怎样利用递归实现删除某一目录
·读出主键下所有项
·如何制作照片底片效果的图像(
·获得Modem的状态
·WebBrowser屏幕滚动的实现,设
·有关字符串处理的小技巧
·Delphi建立键盘鼠标动作纪录与
·Delphi中布尔类型辨析
·DELPHI程序注册码设计
·图形的不规则的Copy
Google
 
用程序设置COM+应用程序的属性
[ 作者:  加入时间:2007-11-26 13:32:26  来自:Linux联盟收集整理 ]
今天从别人机器上导出了个代理程序,注册在自己的机器上,在组件服务里查看COM+应用程序的属性,发现代理程序有一个属性是可以修改的,就是远程服务器名称,在更改了此名称后,程序中不需要用CreateRemote函数,也可以申请到远程接口指针。可是我们应该给用户一个友好的界面,不能总让用户打开组件服务吧,来,我们写个程序吧。2M4Linux联盟
2M4Linux联盟
这次我们只用Delphi控件好啦(唉,懒就一个字^_^)2M4Linux联盟
2M4Linux联盟
定义三个变量2M4Linux联盟
2M4Linux联盟
CataColl:TCOMAdminCatalogCollection;2M4Linux联盟
2M4Linux联盟
CataObj:TCOMAdminCatalogObject;2M4Linux联盟
2M4Linux联盟
COMADminCata:TCOMAdminCatalog;2M4Linux联盟
2M4Linux联盟
begin2M4Linux联盟
2M4Linux联盟
  COMADminCata := TCOMAdminCatalog.Create(self);2M4Linux联盟
2M4Linux联盟
  CataColl := COMADminCata.GetCollection('Applications');2M4Linux联盟
2M4Linux联盟
  CataColl.Populate;2M4Linux联盟
2M4Linux联盟
  for i := 0 to CataColl.Count - 1 do2M4Linux联盟
2M4Linux联盟
  begin2M4Linux联盟
2M4Linux联盟
    CataObj := CataColl.Get_Item(i);2M4Linux联盟
2M4Linux联盟
    if CataObj.Name = 你的应用程序名 then2M4Linux联盟
2M4Linux联盟
begin2M4Linux联盟
2M4Linux联盟
CataObj.Set_Value('ApplicationProxyServerName',新服务器名);2M4Linux联盟
2M4Linux联盟
CataColl.SaveChanges;            //记着保存修改2M4Linux联盟
2M4Linux联盟
break;2M4Linux联盟
2M4Linux联盟
    end;2M4Linux联盟
2M4Linux联盟
  end;2M4Linux联盟
2M4Linux联盟
end;2M4Linux联盟
2M4Linux联盟
代码并不长,关键的函数是Set_Value,函数原型如下:2M4Linux联盟
2M4Linux联盟
procedure Set_Value(const bstrPropName: WideString; retval: OleVariant);2M4Linux联盟
2M4Linux联盟
关键是这个bstrPropName――属性的名称,字符串类型,到底是什么字符串呢?我翻了一通MSDN,还是没找到到底该用什么值,瞎猜了一通也不对。微软就是搞笑,给了一个函数,却不给怎么调用,或许是我笨,没找到。不过笨人也有笨办法,把这些属性值找出来。2M4Linux联盟
2M4Linux联盟
TCOMAdminCatalogCollection这个变量保存的是一个集合(Collection),变量通过GetCollection函数来赋值,MSDN中有对这些集合的说明,找到了一个PropertyInfo集合(看着像),于是把它取了出来,用for循环进行遍历,就可以得到相应的属性名了,代码如下:2M4Linux联盟
2M4Linux联盟
CataColl := CataColl.GetCollection('PropertyInfo',CataObj.Get_Key);2M4Linux联盟
2M4Linux联盟
CataColl.Populate;2M4Linux联盟
2M4Linux联盟
for j := 0 to CataColl.Count - 1 do2M4Linux联盟
2M4Linux联盟
begin2M4Linux联盟
2M4Linux联盟
  CataObj := CataColl.Get_Item(j);2M4Linux联盟
2M4Linux联盟
  self.Memo1.Lines.Add(CataObj.Name);2M4Linux联盟
2M4Linux联盟
end;2M4Linux联盟
2M4Linux联盟
从Memo中就可以读出各个属性值了。对COM+目录的操作就是一个取集合和遍历集合的过程,大家自己去举一反三吧^_^2M4Linux联盟
2M4Linux联盟
以下是PropertyInfo集合的各个属性名称,也就是Set_Value方法的第一个参数bstrPropName的值:2M4Linux联盟
2M4Linux联盟
Name2M4Linux联盟
2M4Linux联盟
ID2M4Linux联盟
2M4Linux联盟
Description2M4Linux联盟
2M4Linux联盟
IsSystem2M4Linux联盟
2M4Linux联盟
Authentication2M4Linux联盟
2M4Linux联盟
ShutdownAfter2M4Linux联盟
2M4Linux联盟
RunForever2M4Linux联盟
2M4Linux联盟
Identity2M4Linux联盟
2M4Linux联盟
Password2M4Linux联盟
2M4Linux联盟
Activation2M4Linux联盟
2M4Linux联盟
Changeable2M4Linux联盟
2M4Linux联盟
Deleteable2M4Linux联盟
2M4Linux联盟
CreatedBy2M4Linux联盟
2M4Linux联盟
AccessChecksLevel2M4Linux联盟
2M4Linux联盟
ApplicationAccessChecksEnabled2M4Linux联盟
2M4Linux联盟
CommandLine2M4Linux联盟
2M4Linux联盟
ImpersonationLevel2M4Linux联盟
2M4Linux联盟
CRMEnabled2M4Linux联盟
2M4Linux联盟
AuthenticationCapability2M4Linux联盟
2M4Linux联盟
3GigSupportEnabled2M4Linux联盟
2M4Linux联盟
QueuingEnabled2M4Linux联盟
2M4Linux联盟
QueueListenerEnabled2M4Linux联盟
2M4Linux联盟
EventsEnabled2M4Linux联盟
2M4Linux联盟
ApplicationProxy2M4Linux联盟
2M4Linux联盟
ApplicationProxyServerName2M4Linux联盟
2M4Linux联盟
CRMLogFile2M4Linux联盟
Linux联盟收集整理 ,转贴请标明原始链接,如有任何疑问欢迎来本站Linux论坛讨论
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·用程序删除已注册的COM+应用程序  (2007-11-26 13:31:25)
 ·FreeBSD编译程序时的缓存ccache设置  (2007-11-26 11:52:51)
 ·详解JavaScript对象属性应用  (2007-11-23 14:45:35)
 ·java方式来写js程序(demo)  (2007-11-23 14:31:46)
 ·一段取得翻唱排行榜上歌曲名称,艺人,地址的脚本程序  (2007-11-23 14:05:15)
 ·一个连接两个不同MYSQL数据库的PHP程序  (2007-11-23 11:26:46)
 ·定制404错误页面,并发信给管理员的程序  (2007-11-23 11:26:10)
 ·用IE远程创建Mysql数据库的简易程序  (2007-11-23 11:21:35)
 ·以文本方式上传二进制文件的PHP程序  (2007-11-23 11:19:15)
 ·向普通人加密 用PHP程序保护数据  (2007-11-22 16:56:48)