如何将DLL文件重新包含到EXE文件中??(50分)

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

wab

Unregistered / Unconfirmed
GUEST, unregistred user!
如题,DLL是C++写的...
 
在 delphi 单元文件中正确声明后就可使用:
function aaa(......):..;stdcall;
external 'MyDll.DLL';
 
我是说能不能将Dll文件做为资源文件一样包含到Exe文件,我只想发布一个可执行程序.
 
可以,作为资源文件,用的时候再解出来,不过就不能用上面那种方法调用了。
 
自己做一个资源文件的描述文本RC文件,例如 sample.rc ,
“记事本”程序创建就行了。然后可以输入一些我们要定义的资源,
例如:
MIDAS DLLFILE C:/WINDOWS/SYSTEM/MIDAS.DLL
然后用BRCC32把这个RC文件编译成sample.res(真正的资源文件)。
在Delphi的工程文件中使用 $R 编译指令让Delphi包括资源到EXE文件里面。
{$R sample.res}
使用时将其释放出来即可。举例如下:
procedure TForm1.OnCreate(Sender: TObject);
begin
ExtractRes('DLLFILE','MIDAS','/Midas.DLL');
end;

procedure TForm1.ExtractRes(ResType, ResName, ResNewName: String);
var Res : TResourceStream;
begin
Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
 
Todo
do:
要这么麻烦啊??
大家还有没有更简单的方法啊?
如果是这样的,我还是发布Dll文件算了。。。
 
发奖金了。。。
 
多人接受答案了。
 
后退
顶部