有没有办法在Delphi中动态加载单元?

时间:2017-09-08 16:12:13

标签: delphi

当应用程序已经运行(运行时)时,是否可以动态加载.pas文件并使用它?

2 个答案:

答案 0 :(得分:5)

不直接,没有。

.pas文件必须编译成.dcu文件并链接到可执行文件(程序或库),然后才能在运行时执行。

如果需要动态加载和执行代码,可以先将单元编译为运行时包(bpl),然后使用LoadPackage()函数在运行时加载该文件。有关详细信息,请参阅以下文章:

Loading Packages in an Application

Loading Packages with the LoadPackage Function

Dynamic packages in Delphi

How to dynamically load and call a function in a BPL package

答案 1 :(得分:1)

你问题的简单答案是否定的。 Pascal是源代码,不能直接执行。它必须首先以某种方式翻译。