是不是必须把bpl文件全部拷贝到系统目录下,才能使用?或者只拷贝少数几个就可以了?
大虾最好能提供不使用带包编译,就能调用DLL中得MDIChild窗口的方法。

解决方案 »

  1.   

    你是不是调用了某个自定义的包,或者编绎时选择了build with runtime packages选项
    如果是前者,则需要把自定义的包,以及dpk的requires的那几个包拷出来(虽然写的是.dcp
    不过你要拷bpl文件)
    如果是后者,那么就要把打勾下面编辑框里的bpl全部拷出来了(delphi安装时把它们放到system目录下)
    安装时把这几个包文件放到system目录或程序运行目录下就可以了,试试看?
      

  2.   

    又是你,我作了,放在没有delphi的机器上运行,提示差哪一个就加哪一个啊!
    笨办法,呵呵
    不过一般只有几个,除非你用了大量的控件!!!
      

  3.   

    delphi6 里面的.bpl的包好象是17M
      

  4.   

    其实你在编译时直接将运行包编译到exe中就可以了,这样你的软件还是绿色的,即
    build with runtime packages 的选项不打挑
      

  5.   

    to:dongys_2000(dongys) 
      不行啊,如果不带包编译的话,无法调用DLL中的MDIChild窗口。你尝试一下。
      

  6.   

    To: VSaber(☆浪人☆)
    一般来说只会提示你第一个缺的包名,
    以后都是"不能打开*.bpl包"的提示,根本不能从那里找信息
      

  7.   

    bpl包也大了些,最好的解决方法是不用带包编译就可以实现调用DLL中的MDIChild窗口。
    大虾们,各顷陆海呵。
      

  8.   

    不是啊,提示了第一个,你找第一个放到执行程序路径,然后运行又会提示第二个,你再找第二个了。
    我就这么做的,ok了!
    至于bpl存放到哪儿,就看你了,放到windows的system32都可以,或者执行程序目录也行,还有设置了path的路径都可以!
      

  9.   

    最好还是不选build with runtime packages
      

  10.   

    实际上我几乎已经把TForm相关的vcl源代码全看了一边,不是说不带包编译不能实现,但是地的确确太麻烦了!
    最主要是带包编译以后,dll的VCL对象与dll外的主程序共享了几个很重要的全局变量application,screen等,而这些确实delphi的mdi机制的关键!