在Delphi7中调试COM+

2016-02-19 12:37 14 1 收藏

下面是个超简单的在Delphi7中调试COM+教程,图老师小编精心挑选推荐,大家行行好,多给几个赞吧,小编吐血跪求~

【 tulaoshi.com - 编程语言 】

                                         在Delphi7中调试COM+

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

                                                                             刘晓明(Cipher)收集整理

       开发COM+应用系统最令人头痛的问题便是如何调试 COM+组件了。由于COM+是执行在COM+的执行环境中,因此Delphi 的程序员无法像Delphi的分布式多层应用系统一样可以直接在 Delphi 的IDE 中设定应用程序服务器的断点来调试。

      事实上, Delphi 仍然可以在 Delphi 的集成开发环境中调试 COM+组件,也可以让程序员在集成开发环境中在COM+组件的程序单元中设定断点,然后执行客户端应用程序调用 COM+组件。此时 Delphi 便会把执行控制权带到Delphi 的集成开发环境中,并且暂停在程序员设定的断点上让程序员开始调试。从此开始,程序员就可以像调试一般的应用程序一样来调COM+组件了。不过要如此调试COM+组件,程序员必须先做一些设定。

 ?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1、在Delphi 的集成开发环境中激活要被调试的 COM+ 组件项目,点Projects|Options 菜单,在弹出的对话框中选择Linker页,选中其中的include Td32 info 和 include remote debug symbol ;

2、点 Run|Install Com+ Objects菜单,注册COM+组件,最好是注册到新的应用程序,也可以注册到已有的应用程序(这个应用程序需要是由Delphi 的注册COM程序产生的)。

3、运行Win2000的 控制面板|管理工具|组件服务,在COM+应用程序中找到刚才COM注册的应用程序,点右键,选择“属性”菜单,在弹出的对话框中,选择“高级”页,选中其中的“在调试器中启动”选项,在下面的调试路径中会有类似如下的内容:"C:Program FilesBorlandDelphi7Binordbg70.exe" dllhost.exe /ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866}

4、回到Delphi的集成开发环境,点选Run|Parameters 菜单,在对话框中,HostApplication设为:C:WINNTsystem32DLLHOST.EXE ,(要根据你的操作系统安装情况设定)。  Parameters 设为:/ProcessID:{9CEC476D-83A5-4C2B-AFF1-3E83A147B866};这个GUID的值要和Win2000组件服务中的属性值一致,可以从那边直接COPY过来。

5、设置断点,在Delphi的集成开发环境中运行COM;

6、在Windows中(或新开的Delphi环境中)运行调用这个COM的客户端程序。

这时会发现,Delphi开发环境中的COM停在断点处了,就可以接下来单步跟踪调试了。

 

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1601311.html

延伸阅读
标签: Delphi
  打开Delphi的安装目录,如C:\Program Files\Borland\Delphi7,你将会看到目录下包含了一些文件和文件夹: Source:存放的是Delpi提供的所有源码,包括VCL、WEBSNAP、IntraWeb、ToolsAPI等的源码,我们平时要查找delphi的源码就可以到这里查找。还有一些Delphi提供的工具的源码也放在其下,如borland socket server(ScktSrv...
标签: Delphi
   Delphi 编辑器   在表面上,对IDE的第7个版本来说Delphi的编辑器看来似乎没有改变许多。 然而,在幕后,它是一个全新的工具。 除了用它来处理Object Pascal 语言(或者Delphi语言,Borland   现在喜欢如此称呼它)的文件之外,你现在能使用它来处理其它用于Delphi开发(诸如SQL,XML,HTML,和XSL文件)的文件...
标签: Delphi
  前言   第一次Zack Urlocker给我看一款尚未发布的名为Delphi的产品时,我意识到她将改变我的工作—还有许多其他软件开发者的工作。 我过去为使用Windows C++ 库而挣扎,而Delphi过去是现在仍然是面向对象编程和可视化编程的最好组合,它适用于Windows操作系统和Linux操作系统,很快也将适用于.NET。   Delphi 7完全继...
  unit BDEClientDataSet; interface uses Windows, SysUtils, Variants, Classes, DB, DBCommon, Midas, SqlTimSt, DBClient, DBLocal, Provider, DBTables; type { TBDEQuery }   TBDEQuery = class(TQuery)   private     FKeyFields: string;   prot...
  client端只需要midas.dll就够了!      Com+在使用时需要进行用户的验证,当你在局域网里的时候,由于的所有的 机子都是在一个域里,他默认的所有的域成员都有权利访问,你如果要在广域网 上使用,你必须在服务器上建立客户端的用户,然后,把该用户添加到你的com+ 的角色当中,就可以访问了...

经验教程

470

收藏

79
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部