2>、第二种办法:打开控制面板-> 管理工具->组件服务->计算机->我的电脑->COM+应用程序,在COM+应用程序的树项上点击 鼠标右键,选择"新建->应用程序"->创建一个空的应用程序,并为此应用程序命名,接下来点击"下一步"直到结束即可。建立了空的COM+应用程序后,接下来就是把COM DLL安装 到COM+应用程序中了。在刚建立的空应用程序的树项中新建一个组件,选择"安装新组件", 在打开文件对话框中选择要安装到COM+环境中的DLL文件,之后跟着向导做都可以了,要把多个COM DLL安装到同一个COM+应用程序包中,只需重复以上步骤即可。
4、导出客户端组件包
导出客户端组件包指的是把已经注册的组件导出为.msi格式的文件,这些文件在客户端安装后,只会在客户端注册组件,而不会安装多余的文件。如果不在客户端注册组件,是不能调用位于服务器上的组件的(此指服务器和客户端分布在不同的机器上时)。
5、调试Com+程序 ---ok
1>、打开Windows中的组件管理,找到要调试的组件包,点右键,选择属性,在高级这页里选择调试选项,打勾; 然后在下面的调试路径中找到/processID:{xxxxxxxxxxxxxxxxxxxxxxxxxxxxx} 复制出来
2>、在dephi中Run | Parameters… HOST APPLICATION 填入 {系统路径}\system32\dllhost.exe PARAMETERS 粘巾 /processID:{xxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
3>、很关键的一点:组件程序:project|option|linker|Include TD32 debug info 和Include remote debug symbols打勾
4>、启动delphi,运行要调试的Com+程序,设置断点,然后运行客户端程序即可进入到Com+断点.
5>、调试完后记得要在 Windows中的组件管理中的高级这页里调试选项勾去掉哟.
6、Com+需要注意的地方:
1>、客户机运行就会报 intece not supported 错误.大致原因: COM+的权限依赖于Windows的权限配置,在服务器需要有客户机的用户名和密码。 如果还不行,就在服务器上重新安装com+,重新导出.
2>、建立工程时,com+不能包含在工程组中.(我的实践)
3>、COM+不支持Oracle吗?在用事务的时候出错:Using Oracle with Microsoft Transaction Server and COM+
7、在Com+中添加远程数据模块
1>、File---->New---->Other....---->Multitier 标签 下的 Transactional Data Module
2>、然后在View--->Library的对话框中增加方法.
8、Com+中传递数组
1>、先定义数组:
type TDataRecord = record
A: Byte;
B: LongWord;
C: Word;
D: LongWord;
end;
2>、服务器端:
function GetData: OleVariant;
var
P: Pointer;
begin
VarClear(Result);//不知D5有没。
try
Result := VarArrayCreate([0, SizeOf(TDataType)], varByte);
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-46133-5.html
来宣示霸权的美国军舰
我们有那么多的怕死将军和不敢站元帅
这里有个小女孩很懂事