我正在考虑一种插件系统来扩展脚本功能,而无需重新编译应用程序。
我的想法是,在启动期间,程序扫描文件夹并注册所有找到的DLL
(每个DLL暴露一个函数)
由于不知道函数是在哪个DLL中定义的,所以我不能使用
函数FindWindow(c1,c2:PChar):红衣主教;外部'.FindWindow@user32.dll stdcall';
这是一个PascalScript示例。
可能有人有任何想法如何实现这一点?
问候 - 克劳斯
答案 0 :(得分:1)
插件DLL的典型方法是每个DLL导出相同的函数名。然后主机程序知道加载时要调用的函数。
在您的情况下,例如,您的应用程序可以将该函数传递给Pascal脚本解释器,然后DLL可以使用它来注册DLL提供的任何脚本函数。