调用OCX后,退出程序提示内存地址错误

tds007 2010-12-09 05:43:12
OCX控件是用delphi7开发的,在delphi或VB下调用都没什么问题,但PB调用此OCX后,程序的执行都没什么问题,OCX的功能都正常,但就是在关闭OCX所在窗口的时候,会提示内存出错,请各位帮忙看一下是什么回事啊?
...全文
227 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tds007 2010-12-11
  • 打赏
  • 举报
回复
to lzp_lrp:
delphi7开发出来的OCX控件,能在PB9上用吗?能兼容上的吗?
tds007 2010-12-10
  • 打赏
  • 举报
回复
我并没用到OCX的返回参数,现在还是给ocx的属性赋值,还有调用OCX方法。

[Quote=引用 8 楼 xuam 的回复:]
引用 7 楼 tds007 的回复:
引用 5 楼 xuam 的回复:
主要是参数类型不对造成的!

引用 4 楼 tds007 的回复:
ocx有ref方式引用的参数吧,记得初始化

没有ref参数呢。
就是一般的调用属性、方法。


类型是对的啊,就两种类型string 和boolean型。
并且在程序运行的时候都没什么问题,功能也正常,在win7和server2003……
[/Quote]
xuam 2010-12-10
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tds007 的回复:]
引用 5 楼 xuam 的回复:
主要是参数类型不对造成的!

引用 4 楼 tds007 的回复:
ocx有ref方式引用的参数吧,记得初始化

没有ref参数呢。
就是一般的调用属性、方法。


类型是对的啊,就两种类型string 和boolean型。
并且在程序运行的时候都没什么问题,功能也正常,在win7和server2003下运行也没问题。
[/Quote]
delphi里有些类型跟PB不太一样,你试着将delphi的string 返回参数在PB里改成long 试试
tds007 2010-12-10
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 xuam 的回复:]
主要是参数类型不对造成的!

引用 4 楼 tds007 的回复:
ocx有ref方式引用的参数吧,记得初始化

没有ref参数呢。
就是一般的调用属性、方法。
[/Quote]

类型是对的啊,就两种类型string 和boolean型。
并且在程序运行的时候都没什么问题,功能也正常,在win7和server2003下运行也没问题。
tds007 2010-12-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzp_lrp 的回复:]
调用ocx的函数前,把字符串根据需要赋一空格值


string ls_data

ls_data = space(50)

然后再调用
[/Quote]

这个我也试过了,程序在执行时的时候,都正常,一旦退出窗口,就会出现内存错误。
xuam 2010-12-10
  • 打赏
  • 举报
回复
主要是参数类型不对造成的!
[Quote=引用 4 楼 tds007 的回复:]
ocx有ref方式引用的参数吧,记得初始化

没有ref参数呢。
就是一般的调用属性、方法。
[/Quote]
tds007 2010-12-10
  • 打赏
  • 举报
回复
ocx有ref方式引用的参数吧,记得初始化

没有ref参数呢。
就是一般的调用属性、方法。
tds007 2010-12-10
  • 打赏
  • 举报
回复
在win7和server 2003上运行都没问题,但到了XP,退出窗口时会提示内存出错,是一个视频语音传输控件。
WorldMobile 2010-12-10
  • 打赏
  • 举报
回复
程序运行正常,功能正常,但内存是有异常的,导致程序退出时出错了,我以前遇到过很多

应该和调用有关,主要是通过赋一些初值解决的

如果ocx有源码,建议把boolean改为string试试
WorldMobile 2010-12-09
  • 打赏
  • 举报
回复
调用ocx的函数前,把字符串根据需要赋一空格值


string ls_data

ls_data = space(50)

然后再调用
pb8 2010-12-09
  • 打赏
  • 举报
回复
ocx有ref方式引用的参数吧,记得初始化

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧