2016-11-24 71 views
0


我在考慮一種插件系統來擴展腳本函數
而不用重新編譯應用程序。
在Pascalscript中註冊DLL函數

我的想法是,在啓動過程中,程序掃描一個文件夾並註冊
所有發現的DLL。
(每個DLL公開一個函數)。由於不知道函數是在哪個DLL中定義的,因此我不能使用
函數FindWindow(c1,c2:PChar):Cardinal;外部'[email protected] stdcall';
這是在PascalScript的例子之一。

可能有人有任何想法如何實現這一目標?

問候 - 克勞斯

回答

1

與插件的DLL典型的做法是,每個DLL導出相同函數名。然後主機程序知道在加載時要調用哪個函數。

例如,您的應用程序可以將該函數傳遞給Pascal腳本解釋器,然後DLL可以使用它來註冊DLL提供的任何腳本函數。

+0

或者,爲了擴展,每個DLL導出相同的* set *函數名稱(即:它的行爲非常像一個接口)。 –