2010-08-20 92 views
2

我有一個應用程序可以調用創建並返回表單的DLL函數。當我嘗試將這個新窗體添加到應用程序的主窗體中時,我遇到了一大堆錯誤。從DLL調用應用程序創建的Delphi DLL

這是一個常見的錯誤/問題還是在這種情況下沒有父母的問題。

據我所知,在DLL調用中創建的表單不屬於應用程序。有沒有辦法讓新創建的表單屬於應用程序。

謝謝 添

+1

你會得到什麼樣的錯誤?你如何將你的新表單添加到應用程序的主表單中? – 2010-08-21 01:27:39

回答

2

使用相同版本的delphi編譯器,使用相同的運行時軟件包編譯您的dll和exe文件。
也在dll中不使用任何調用對象如stdcall或cdecl在您的表單創建函數。
它會像魅力一樣工作。

2

不要使用VCL裏面的DLL。這樣你會遇到各種各樣的問題。如果您絕對需要具有創建VCL組件或其他GUI部件的動態包,請使用BPL。這是兩者的短sumary:

  1. BPL vs. DLL
  2. Stack oveflow question

還有其他aproaches。現在主要的問題是爲什麼你在DLL中創建一個表單並且真的需要它?

1

您的dll和exe文件必須在相同版本的RAD Studio中編譯,並且都必須使用運行時軟件包。