Преимущества технологии
- Разнообразие импортируемых функций не ограничено ничем
- Не изменяются коды библиотеки (компоненты)
- Не происходит разбухания объектного кода, т.к. не используются шаблоны - все функции конкретно и явно описаны в заголовочных файлах
- Полностью автоматизированный процесс генерации кода, включая опреде-ление идентификаторов функций (параметров для GetProcAddress)
- Мнемоника кода не ухудшается: имена функций остаются неизменными
- Минимальный объём ручного кодирования - всего 2 строки:
- Включение заголовочного файла
- Вызов метода LoadDll
- Технология применима не только для BCB, но и для, например, Visual C++, а также - с небольшой адаптацией - для любого языка/среды разработки; Например, в Visual C++:
- сгенерированный код можно использовать без изменений (только за-комментировав включение vcl.h)
- вместо компоненты TAskDll следует создать класс.
- Многие разработчики делают компоненты-обёртки для функций DLL - их применение намного удобнее. Для этих целей как нельзя лучше подходит данная технология:
- Создаётся компонента, производная от TAskDll
- Сгенерированный модуль (Example_Load.cpp) включается в проект пакета
- В конструкторе компоненты свойству DllName присваивается имя DLL
- В методе Loaded компоненты вызывается метод LoadDll. Всё!