【发布时间】:2010-10-22 15:10:48
【问题描述】:
我已经完成了About.com guide to embedding dll's in Delphi EXE's,这似乎可行,只要我实际上不将 DLL 用作外部函数。有没有办法让我链接到的代码比使用子句中引用的单元更早地工作。
我试过了:
- 完全按照此代码所说的去做。
- 将此代码放在表单的初始化部分,该部分使用使用外部函数的单元。
- 将此代码放在使用外部函数的单元的初始化部分。
通过外部函数,我指的是一个看起来像这样的函数:
function MyFunction: Integer; stdcall; external 'fundll.dll';
我遇到的问题是无法加载通常的“fundll.dll”(因为它不在目录中)。当代码达到那一步时,Zarko 的代码就可以工作(非常棒,它在那个文件夹中创建了 dll)。但是当我使用我需要的外部功能时,它甚至在项目启动之前就崩溃了。
【问题讨论】:
-
如果您从它调用函数,那么它不是“资源 DLL”。它是一个恰好作为资源嵌入的 DLL。资源 DLL 的唯一目的是保存资源。
-
我很好奇。为什么要在 EXE 中放入 DLL?在我看来,这违背了使用 DLL 的目的。
-
Mason,它让你有一个独立的程序来分发,但调用你没有源代码的函数,因此不能直接编译到你的 EXE 中。
标签: delphi dll embedded-resource