如何将delphi tframe从dll加载到delphi应用程序

时间:2010-10-21 15:09:14

标签: delphi dll tframe

我用tframe创建了一个dll。 如何在我的应用程序中加载它,我不喜欢使用bpls,我只想用我的应用程序来分发exe和dll

2 个答案:

答案 0 :(得分:5)

由于BPL是一个DLL,所以采用BPL方式:更容易。

答案 1 :(得分:0)

可以做到但是让它在没有错误或内存问题的情况下工作是一件很棒的工作。更糟糕的是,您将在应用程序中使用两个VCL,一个在可执行文件中,另一个在DLL中。您的框架将尝试引用DLL VCL,它将提供与EXE VCL非常不同的信息。特别是在检查全局屏幕和应用程序变量时 尽管如此,框架只不过是一种特殊的窗口控件,就像表格一样。您可以从DLL中导出一个函数,该函数将返回TFrame类型的值。您的应用程序将能够调用此函数,从而创建框架,以任何方式使用它使用所有其他框架。但是,它不会有关于框架中其他功能的任何具体信息。
接下来您需要处理的是同步EXE和VCL相关的DLL之间的数据。那不是很漂亮。另外,使用Tab键选择屏幕上的控件时可能会遇到一些问题,因为Tab键无法在框架外标签。你会注意到这样的一些奇怪的东西。
我曾经研究过一种以这种方式使用框架的简单应用程序。我和另外两个人花了两个月的时间来获得一些有效的解决方案,这些解决方案确实合理,没有内存泄漏和其他麻烦。在我们开始这个项目之前,它似乎是一个好主意。之后,我们认为它并不是我们想要的解决方案,因此我们将DLL的代码与可执行文件的代码合并,只创建一个可执行文件。这样做更好。
不过,我们确实使用了另一种选择。我们开始在mainform中使用webbrowser组件。 DLL将包含一个HTML页面,格式良好,以及在使用某些特定函数时将调用的一堆方法。我们在一个简单的测试应用程序中工作,结果很好,但随后该公司进入了第11章......我的雇主因为与某些客户的交易严重失败而陷入困境,给公司带来了巨额债务。因此一个有趣的项目结束了......