delphi环境运行程序和单独运行程序有什么不同(100分)

  • 主题发起人 主题发起人 wanderld
  • 开始时间 开始时间
W

wanderld

Unregistered / Unconfirmed
GUEST, unregistred user!
我的一个delphi程序调用了外部动态链接库的一个函数,这个函数大概是打开串口和进行其他操作,当我将程序编译完单独运行时(直接运行可执行文件),程序正常,但是我在delphi环境下运行,就总是报错,不仅delphi报错,程序也报错。报错的内容是External Exception C0000008,谁能帮我解释并解决不能在delphi下运行的问题
 
接口函数调用去掉试试。如果可以的话,可以是调用外部函数有问题。
 
去掉当然没有问题。不是可能是调用外部函数的问题,而是肯定是调用外部函数的问题,关键我是在问为什么调试环境下通不过的程序单独运行可以通过
 
去掉当然没有问题。不是可能是调用外部函数的问题,而是肯定是调用外部函数的问题,关键我是在问为什么调试环境下通不过的程序单独运行可以通过
 
IDE 有调试钩子,触发系统例外。装入的 DLL 位置,有可能不在 $00400000 ,而在 IDE
进程内。
 
小雨哥有办法解决么
 
我吃不准 External Exception C0000008 是什么东西,如果是指例外发生的位置,这个点
有点偏高,已经是系统保留的共享内存段了,外部程序可能使用了一些特殊的编程手段;
如果是错误代码,却查不到信息,所以实在帮不了你。
 
外部动态链接库的位置换一下可以吗?放到搜索路径中
我没试过
 
plane822,莫名奇妙
 
在报错的时候看看你的系统资源还有多少?是不是系统资源不足引起的。这种问题也是有可能出现的。否则我就不知道什么原因了。
 
各位尽量往delphi的调试技术方面想,不要往无关的方面想。其实我的问题已经说的很清楚了,肯定是delphi的调试环境与动态连接库有冲突,有没有人有办法让delphi绕过某个函数的执行而调试其他代码。
 
用delphi7的向导做activeform,第一次新建时可以发布,
但以后再打开时,发布菜单无效,不能发布,为什么!??
 
我估计dll里用了线程。

我写多线程时就是这样。直接运行没问题,在ide里运行就是
External Exception C0000008。查google说是delphi的bug
 
后退
顶部