VB 如何进行伪编译???

fugers 2000-08-17 09:07:00
有一VB6 工程其中调用VC6 做的控件,在集成环境下运行正常。
编译成EXE后运行到控件部分时,提示有严重非法内存操作。结束程序。
DEBUG 到调用MSVBVM60。DLL 时提示
“。。。0XC000000005 ACCESS VIOLATION”

请高手指点!!!谢谢!!

回复贴子:
RuFeng回复于2000-8-16 20:55:00
我建议你下载smartcheck6.x来调试你编译的东西,或者你改变编译的方式,用伪编译,这样可以解决一些问题,这其中的原因是你的程序有bugs,但是逻辑的,但在集成环境中时,由于VB的保护比较好,所以不会发现,但当你用本地代码编译时,进行优化后,问题就出现了,我以前也有这样的问题,后来就是用上面两种方法解决了,如果还不成,最后最无敌的方法就是用winsoftice在汇编环境下去跟了。哈哈。。。。。。。。。

VB 如何进行伪编译???
...全文
189 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bokei 2000-08-17
  • 打赏
  • 举报
回复
应该是指这个。
工程->属性->编译->P代码。(就是不要编成本机代码)
shines77 2000-08-17
  • 打赏
  • 举报
回复
*.oca 是同名的 *.ocx 的 控件类型库缓存文件.

注意 每一个 ActiveX 控件有一个具有 .oca 扩展名的文件。该文件存储有高速缓存型库信息和该控件特有的其它数据。具有 .oca 扩展名的文件通常存储在与 ActiveX 控件相同的目录里,并可在需要时重建(文件大小和日期可以改变)。
Mike 2000-08-17
  • 打赏
  • 举报
回复
在工程属性下的编译选择”编译为P-代码“
fugers 2000-08-17
  • 打赏
  • 举报
回复
shines,
"是不是你相应的引用没有添加上去,*.oca . "
是什么意思?*。oca 有什么用呢?
shines77 2000-08-17
  • 打赏
  • 举报
回复
我觉得也是,Un1说得对,OCX调用出错不关伪编译不伪编译的事,还是跟VC的控件有关系,是不是你相应的引用没有添加上去,*.oca .
Un1 2000-08-17
  • 打赏
  • 举报
回复
你可以先写一个简单的程序在vb中调用vc控件,看看到底问题出在哪里。这种情况一般来讲还是你的vc控件有缺陷,而和vb程序是否编译无关。vb的所有程序运行于msvbvmxx.dll虚拟机,本身出错的概率几乎为零。有一种情况是在vb环境中存在而编译后不存在,那就是类似于dll引用计数等类似问题,因为在调试环境中vb本身保持着至少一次引用,而运行时就会少这一次,如果你的底层控件内存引用计数有问题将导致此情况发生。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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