VB6.0的问题

assiwe 2011-04-11 12:47:02
我在维护一个很老的VB6程序时出现个问题.
调用一个C语言编写的Dll时,有个方法在调试期调用能够正常使用. 但是在编译以后,调用这个方法会直接非法操作.
请问这有可能是什么原因? 有什么解决办法,或者相关的资料吗.

...全文
146 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
assiwe 2011-04-12
  • 打赏
  • 举报
回复
谢谢各位,我先去试试P代码形式.
ttsffgg 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 chenjl1031 的回复:]

引用 8 楼 supermanking 的回复:
编译P代码看看,可能可以解决你的问题

同意!我有个程序就是这样,在IDE下没任何问题,编译成本地代码不能正常运行,会崩溃,但编译成P代码就可以正常运行。程序在这里:http://blog.csdn.net/chenjl1031/archive/2011/01/31/6170676.aspx
[/Quote]

我遇到过这种问题,后来证实就是因为没有正确处理指针
在p码的时候,问题可能是隐性的,也就是说问题虽然当时没有发作,但会导致不稳定,说不定什么时候就会爆发,
而编译为本机码以后,问题会凸显出来
东方之珠 2011-04-12
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 supermanking 的回复:]
编译P代码看看,可能可以解决你的问题
[/Quote]
同意!我有个程序就是这样,在IDE下没任何问题,编译成本地代码不能正常运行,会崩溃,但编译成P代码就可以正常运行。程序在这里:http://blog.csdn.net/chenjl1031/archive/2011/01/31/6170676.aspx
ttsffgg 2011-04-12
  • 打赏
  • 举报
回复
注意参数的byVal和byRef
vb默认是byRef,试试把某些参数强制改为byVal
无·法 2011-04-12
  • 打赏
  • 举报
回复
发到水源那边去吧,那有不少东软的人应该,说不定还能碰到写你这个dll的人呢。
li163 2011-04-12
  • 打赏
  • 举报
回复
查厂家的网站上是否有说明和例子
assiwe 2011-04-12
  • 打赏
  • 举报
回复
不是盗版.
assiwe 2011-04-12
  • 打赏
  • 举报
回复
是东软的东西. 他们给的示例从来都不好使. 找他们办个事儿最起码得半个月能完. 伤不起啊.
lliai 2011-04-11
  • 打赏
  • 举报
回复
给写个证书看看
孤独剑_LPZ 2011-04-11
  • 打赏
  • 举报
回复
向上游厂商要调用示例
无·法 2011-04-11
  • 打赏
  • 举报
回复
大家说的对,应该找厂商咨询,莫非楼主是用的盗版的?
现在还是人类 2011-04-11
  • 打赏
  • 举报
回复
编译P代码看看,可能可以解决你的问题
AddDark 2011-04-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 dbcontrols 的回复:]
支持一下,想对方技术部门咨询是一个很好的选择
有些厂商网站上就有开发代码


引用 4 楼 asftrhgjhkjlkttttttt 的回复:
向上游厂商要调用示例
[/Quote]

+1
dbcontrols 2011-04-11
  • 打赏
  • 举报
回复
支持一下,想对方技术部门咨询是一个很好的选择
有些厂商网站上就有开发代码

[Quote=引用 4 楼 asftrhgjhkjlkttttttt 的回复:]
向上游厂商要调用示例
[/Quote]
assiwe 2011-04-11
  • 打赏
  • 举报
回复
可是我不会汇编, 而且那个DLL是上游厂商给的,我也没法更改,只能在VB程序里改.

threenewbee 2011-04-11
  • 打赏
  • 举报
回复
安装VC++6.0或者Visual Studio后,出错的时候除了关闭程序以外,还有个调试按钮的。

主要看是不是堆栈不平衡,空指针这些问题。
threenewbee 2011-04-11
  • 打赏
  • 举报
回复
出错的时候用一个Win32调试器调试下。比如Visual Studio或者Ollydbg。

7,763

社区成员

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

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