我现在做了两个dll,有没有办法把两个DLL加入到一个exe中,到需要用到时,把所需的dll释放(或创建)出来,是做成资源文件吗?       先行谢过!!

解决方案 »

  1.   

    你的DLL里是包含Form的吗?如果是,你把这些Form作成一个Dll不就可以了吗?
      

  2.   

    可以使用资源的方式!!!1、创建一个Rc文件
    XXXX RCDATA XXXX.DLL
    ...
    2、编译Rc为Res
    3、在程序中加入{$R XXX.Res}
    4、使用TResourceStream提供的方法读取/写入你的DLL
      

  3.   

    可以用loadlibary动态加载dll(也就是需要时才加载),用FreeLibrary卸掉(不需要时杀掉)
      

  4.   

    我现在已经做好了dll,但不知如何调用资源文件中的dll,loadlibrary()括号中该如何写啊!!
      现在的情况是只有把dll释放出来生成dll文件后才能调用,有没有办法不生成文件,而直接调用呢?
      

  5.   

    问题已经解决了,但有没有办法,不释放而直接调用呢?loadlibrary()括号中该如何写啊??
      

  6.   

    var
        FileName:pchar;
        DllHandle: THandle;
    ....
    FileName:=pchar(extractfilepath(application.ExeName)+'dll\CardMachine.dll');
    DllHandle:=LoadLibrary(FileName);
      

  7.   

    Delphi_Li(Delphi Li) 已经说得很清楚了。不过,楼主这种做法怪异! 既然想把 dll 和 exe 捆绑在一起,那干嘛还做成 dll 呢?直接做个 exe 不就行了?  像楼主这样还要从资源中读出 dll ,然后加载 dll,最后才能调用,不麻烦吗? 楼主想“不释放而直接调用”,这恐怕是不行的