2 su244164749 su244164749 于 2014.09.05 19:40 提问

pb写的COM组件c#无法调用

用pb做了一个COM组件(环境是xp和pb9),现在组件可以regsvr32注册,在vs2010中可以引用,但在调用组件方法执行时报错“尝试读取或写入受保护的内存。这通常指示其他内存已损坏。”或者“异常来自 HRESULT:0xFFFFDF7F”,在vs2010的对象浏览器中看组件的结构里面除了接口之外唯一的类里面的方法全都加了virtual,是不是在pb生成COM的时候出了问题,本人不懂pb只是业务需要,还请高人指点

1个回答

lzp_lrp
lzp_lrp   Ds   Rxr 2014.11.12 08:55

组件里的方法参数建议都为string,兼容性能好一些

也有可能是你的代码写的有问题比如对象未释放之类的也容易出错,以前写过,在delphi里调用过没有出现问题

如果不行,用pbni来实现吧,兼容性能好一些

可以查一下相关的资料

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
pb调用C#中COM组件(2)
接pb调用C#中COM组件(1)续
PB 调用.NET COM组件(1)
对于现在使用PB和.NET同时开发的项目,现在.NET已经有的功能,想在PB下调用,只能把.NET做成COM组件,再在PB中调用。 方法如下:    一.在.NET中新建类库    二.注册类库    三.在PB中调用 下面详细介绍一下:以.NET2005和PB11.5为例 一、在.NET中新建类库   1.打开Microsoft Visual Studi
pb调用C#中COM组件实例(源码+运行EXE)
pb调用C#中COM组件实例(源码+运行EXE) 说明 http://blog.csdn.net/tangkechu/article/details/37593911
PB 调用.NET COM组件
今天需要作一下pb引用.net的外接程序类。反复测试都没有成功。看到这篇文章解决了我的问题。在此感谢。综合我的碰壁经验。需要注意以下两点。 1..net项目需要勾选生成 com组件。 2.在类名前加上标识。 以下是对原文章的转载: http://blog.sina.com.cn/s/blog_53d716150100kp2k.html **************
c#写com组件pb调用
c#写com组件pb调用实现c#与PowerBuilder间接性结合,助于PowerBuilder开发的扩展
pb 调用com组件
//int result//myoleobject=create OLEObject//result=myoleobject.connecttonewobject(pb90.n_unictoansi)////if result=-2 then   //没有注册则注册dll//    if run(regsvr32 /s  +GetCurrentDirectory ( )+/unictoa
pb调用.net组件的实践
  经过反复的尝试,已经实现了PB7.0调用vs.net 2005 开发的组件的方法。虽然还有一点技术问题没有解决,但是主要的难点都已经攻克。本文将发一个刚刚完成的小例子来说明一下。  本例用的是 pb7.0 和 vs.net2005 +vb.net  首先将.net组件封装成 com,方法请参见:http://blog.csdn.net/precipitant/archive/200
用C++写COM组件并用C#调用
1、以管理员身份打开vs,特别重要,否则会不成功2、新建一个c++ ATL项目,如图,全部为默认设置 3、添加一个ATL简单对象,从添加类中添加,如图 4、添加一个方法,注意是在类视图中添加,并按照下图设置,其余部分均为默认 5、然后在test.cpp文件中添加代码,生成。一个com组件就做出来了。STDMETHODIMP Ctest::Add(LONG a, LONG b, LONG
PB9com组件创建实例
PB9com组件创建实例
C#与DLL和COM的混合编程(2)-C#调用COM组件
C#调用COM组件这部分描述了在托管代码中调用COM组件的方法,现存的COM组件在托管代码中作为中间件或者独立的功能实体是很有价值的资源  向.NET Framework报露COM组件1. Import a type library as an assemblyCOM的类型定义通常在type library(tlb)中,与之对应的是CLS兼容的编译器在assembly中