簡體   English   中英

如何從dll到delphi應用程序中加載delphi tframe

[英]how to load delphi tframe from dll to delphi application

我用tframe創建了一個dll。 我如何將其加載到我的應用程序中,我不喜歡使用bpls,我只希望通過我的應用程序分發exe和dll

由於BPL是DLL,因此采用BPL方式:容易得多。

可以做到,但要確保它沒有錯誤或內存問題,卻是一項艱巨的任務。 更糟的是,您將在應用程序中使用兩個VCL,一個在可執行文件中,另一個在DLL中。 您的框架將嘗試引用DLL VCL,它將提供與EXE VCL完全不同的信息。 特別是在檢查全局Screen和Application變量時。
盡管如此,框架只不過是一個特殊的窗口控件,就像表單一樣。 您可以從DLL中導出一個函數,該函數將返回TFrame類型的值。 您的應用程序將能夠調用此函數,從而創建框架,並以其使用所有其他框架的任何方式使用它。 但是,它不會提供有關框架內其他功能的任何特定信息。
接下來要做的是在EXE和與VCL相關的DLL之間同步數據。 那不是很漂亮。 另外,使用Tab鍵在屏幕上的控件之間切換時可能會遇到一些問題,因為Tab鍵將無法在框架外切換。 您會發現更多類似的奇怪情況。
我已經在一個使用框架的簡單應用程序中工作過。 我和另外兩個人花了兩個月的時間來獲取一些可行的解決方案,該解決方案在沒有內存泄漏和其他麻煩的情況下運行得很好。 在開始該項目之前,這似乎是個好主意。 之后,我們決定這並不是我們想要的解決方案,因此我們將DLL的代碼與可執行文件的代碼合並在一起,只創建了一個可執行文件。 這樣更好。
不過,我們確實使用了另一種選擇。 我們開始在主窗體中使用Web瀏覽器組件。 DLL將包含一個格式正確的HTML頁面,以及一堆在使用某些特定功能時將被調用的方法。 我們在一個簡單的測試應用程序中完成了這項工作,並取得了良好的結果,但公司卻進入了第11章……我的老板破產了,因為與一些客戶的交易嚴重失敗,使公司承擔了沉重的債務。 這樣一個有趣的項目就結束了...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM