你的hostexe是不是确实调用了你的DLL,这点也很关键。

解决方案 »

  1.   

    这一点我可以确定!因为hostexe和dll都是我写的。
    我在hostexe里跟踪过了调用的程序。其它procedure function 
    的返回值都不是nil,而且当我把它们做一个工程组时,可以调试
    但这时又出问题了?它有时会在断点停下,有时又不会?我怕如果
    dll多次被装载时delphi会丢失调试的信息,就每次装载前都free
    了这个lib,还有每次重新启动后都可以调试!在工程组中。单独的
    dll工程,始终无法调试!
      

  2.   

    单独dll应该可以调试,不管那个exe是否含有调试信息。这个我很早就试过了。我觉得,必须确认那个exe一定调用你正在调试的DLL,而不是其它在搜索路径下的DLL。(我的意思是,你最好在计算机上只保留一个你正在开发的DLL)
      

  3.   

    我明白了,想我还有必要说明一下:我的dll是动态装载的,而且目录
    从hostexe来说是不确定的,可以说是一种插件吧,是通过数据库来获
    得路径信息的,所以,位置应该不会有问题的!如果有问题它应该无法
    装载才对啊?
      

  4.   

    我是从调试的观点来说的,因为如果装载的DLL地路径和你正在调试的DLL路径不同,尽管是同一个DLL,但是断点也不会停下来。