2016-11-24 2 views
0


Я думаю о виде системы плагинов, чтобы расширить функции скрипта
без перекомпиляции приложения.
Регистрация DLL-функций в Pascalscript

Моя идея заключается в том, что при запуске программа просматривает папку и регистрирует
все найденные DLL.
(Каждая DLL предоставляет одну функцию).

Как не известно, в которой DLL функция определена, я не могу использовать
Function FindWindow (c1, c2: PChar): Cardinal; внешний'[email protected] stdcall ';
, который находится в одном из примеров PascalScript.

Возможно, у кого-нибудь есть идеи, как достичь этого?

Greetings - Клаус

ответ

1

Типичный подход с плагином библиотек DLL является то, что каждая DLL экспортирует имя функции же. Затем хост-программа знает, какую функцию вызывать, когда она загружается.

В вашем случае, например, ваше приложение может передать эту функцию ссылку на интерпретатор Pascal Script, а затем DLL может использовать ее для регистрации любых функций скриптов, предоставляемых библиотекой DLL.

+0

Или, чтобы расширить, что каждая DLL экспортирует один и тот же * набор * имен функций (то есть: он ведет себя как интерфейс). –