回 帖 发 新 帖 刷新版面

主题:c#.net调用pd的dll问题

用pd编译的标准com组件dll
但是在c#中不让使用

我用普通调用和动态绑定都不行 
请问大家有这种经验吗?
着急。。
救我

回复列表 (共5个回复)

沙发

是不是没有分配命名空间,或者没有添加到引用?

板凳

不是
就是因为pb生成的com自己没类
托管生成的类又没办法用
郁闷

3 楼

获得某个com实例的接口地址(知道此实例的具体接口) 
IntPtr ppv = Marshal.GetComInterfaceForObject( this.m_view, typeof(HelperItems.IShellView) ); 
从某个com实例的接口地址获得这个实例 
HelperItems.ICommDlgBrowser cdlg = (HelperItems.ICommDlgBrowser) Marshal.GetObjectForIUnknown( Marshal.GetComInterfaceForObject(this.m_view.m_shell, typeof(HelperItems.ICommDlgBrowser)) ); 

上面这两个函数,这里这个this.m_view 应该是个什么类型的对象呢?斑竹兄在不?

4 楼

具体看请求什么对象,左边对象实例,右边对象类型

5 楼

可是现在com口跟本不能实例成对象,要不我也不费这劲
这里不允许用null对象当参数
所以这里这个对象好像根本没意义啊,如何理解?

我来回复

您尚未登录,请登录后再回复。点此登录或注册