我在家用win2000 pro 和delphi6 的编译程序拿到客户机上就不能运行,程序执行后就自动关闭了。但我在公司电脑上编译就没这个问题。公司是win2000 server+delphi6 的。(没使用ehlib3.5控件时还好好的,后来在程序里用了它的一个控件dbgrideh,客户端那儿就打不开了。家里的电脑编译后不行,公司的电脑编译后可以。)各位高手是否知道什么原因? 谢谢 。

解决方案 »

  1.   

    没用过ehlib3.5控件,不知道兼容性怎么样,很多控件都不稳定,你这个问题也有可能是控件的原因。这个控件是delphi6用的吗?
      

  2.   

    你家里的delphi选择了build with runtime packages,而办公室电脑没有选择此项。
    选择build with runtime packages后,可执行文件将变得很小,但运行时需要拷很多系统dll和bpl,如果没有这些dll和bpl,客户那里运行肯定出错。
    建议你仔细比较一样目标文件是否一样。另外ehlib3.5我曾经用过,它是一个比较好的组件,没有你说的那种情况
      

  3.   

    谢谢,我的编译都是全编译的,没选择build with runtime packages. 目标文件大小都差不多的。
    ehlib3.5 应该没问题的。 
    估计delphi6 编译的时候哪里没编译好?
      

  4.   

    还是win2000pro 和server 两者环境下delphi编译会不一样?
      

  5.   

    可能不是编译环境的问题,应该是ide设置的问题。
    要使用两个delphi编译相同程序,最好是两个环境都要完全一样,特别是引用了第三方组件,则第三方组件版本必须完全一样,否则会出现很难查找的问题,我以前就遇见了类似的问题。
      

  6.   

    ok,我解决了,原来是数据连接控件adoconnection的问题。开发的时候需要连接字符串,但编译发布给客户的时候 需要清除此连接字符串,程序才不会出错。
    用D7试过,比D6稳定,不会有这种问题。
    谢谢各位了。