我在做一些考古,和COM+打交道
我设法将一个简单的COM+作为一个COM+组件,到目前为止一切顺利。
所以我有了这个'foobar‘com+组件,以及它的接口和我想要调用的方法。
我的问题很简单:我应该如何调用这个组件?
任何.NET或VB6答案都被接受(我必须检查组件是否正常,与客户端无关)
谢谢
编辑(06/03/09):嗯,我很困惑。为了正常工作,我的COM+组件需要注册它的dll。为什么不行?但是,如何确保我发出的是COM+调用,而不是COM调用呢?
发布于 2009-06-03 06:15:50
如果你想要的是检查组件在被调用时的响应,那么使用一个快速的VBScript,而不是在VB6/VB.NET中构建一些东西。
Dim o : Set o = CreateObject("Lib.Class")
o.YourMethod "someParam"观察组件服务中的COM+应用程序,查看请求的类是否启动。
发布于 2009-06-02 16:34:56
最简单的VB.NET代码片段:
Dim myCom As Object
myCom = CreateObject("MyCom.ProgId")
myCom.Method(parms)您需要将"MyCom.ProgId“替换为组件的实际ProgId -您可以从组件服务管理工具中组件属性的常规选项卡中获得此信息(听起来您已经掌握了这一点)
MyCom.Method(参数)
只是您想调用的任何方法的占位符,带有该方法所接受的参数。
下面是一些VB.NET语法示例的链接:
http://msdn.microsoft.com/library/de...eateObject.asp
http://www.samspublishing.com/articl...le.asp?p=25857
http://msdn.microsoft.com/library/en...asp?frame=true
发布于 2009-06-02 19:22:40
亚当在VB6中的代码类似于:
Dim myCom As Object
Set myCom = CreateObject("MyCom.ProgId")
myCom.Method(parms这个示例是后期绑定的,并且会带来一些性能损失。你可以以早期绑定的方式调用你的方法,这样就避免了惩罚。在VB6或VB.NET中,只需将COM+ dll添加到您的引用中,您就可以通过以下方式调用该对象:
VB6
dim myCom as MyCom.ProgId
set myCom = new MyCom.ProgId
myCom.MethodVB.NET
dim myCom as new MyCom.ProgId
myCom.Method(...)https://stackoverflow.com/questions/940399
复制相似问题