主题:c#.net调用pd的dll问题
yuhua
[专家分:1730] 发布于 2006-08-08 10:02:00
用pd编译的标准com组件dll
但是在c#中不让使用
我用普通调用和动态绑定都不行
请问大家有这种经验吗?
着急。。
救我
回复列表 (共5个回复)
沙发
linxuanxu [专家分:9360] 发布于 2006-08-08 10:23:00
是不是没有分配命名空间,或者没有添加到引用?
板凳
yuhua [专家分:1730] 发布于 2006-08-08 10:57:00
不是
就是因为pb生成的com自己没类
托管生成的类又没办法用
郁闷
3 楼
yuhua [专家分:1730] 发布于 2006-08-08 11:13:00
获得某个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 楼
jzyray [专家分:20610] 发布于 2006-08-08 23:11:00
具体看请求什么对象,左边对象实例,右边对象类型
5 楼
yuhua [专家分:1730] 发布于 2006-08-09 08:43:00
可是现在com口跟本不能实例成对象,要不我也不费这劲
这里不允许用null对象当参数
所以这里这个对象好像根本没意义啊,如何理解?
我来回复