Для конкретных объектов инкапсуляции DLL, пожалуйста, обратитесь к «DLL Encapsulation и Call Object Technology в Delphi», и исходный код для книги.
Я столкнулся с некоторыми странными проблемами в процессе компиляции DLL с использованием Delphi.
1. Проект DLL, созданный Delphi, пишет: Sharemem должен быть первым подразделением в пункте использования вашей библиотеки и вашего проекта. Здесь упоминается, что как проекты, так и проекты DLL с использованием DLL должны ссылаться на единицу Sharemem.
Лучше всего добавить единицы Sharemem в проект, потому что в фактическом использовании обнаружено, что иногда объекты передаются между проектом и DLL для использования.
2. Определение задача вызова функции DLL:
При выводе в DLL: Function ABC: iInterface;
Вызовы функций определяются следующим образом в программе:
тип
TFUNC = IInterface;
Произойдет странная ошибка, которая должна быть определена как такая же, как определено в DLL:
тип
Tfunc = function: iInterface;
3. При использовании интерфейса в DLL не забудьте установить его на NIL, прежде чем объект будет выпущен в DLL после использования;
4. Отладка DLL в Delphi: я часто сталкиваюсь с проблемой, которую я не могу добавить точки останова при отладке DLL. Проверьте настройки в DLL, является ли выходной путь скомпилированного DLL таким же, как основная настройка пути программы, которая вызывает DLL, и должен быть абсолютным путем;
5. В «DLL Encapsulation и вызовом технологии объекта в Delphi» основным ограничением DLL на объектах инкапсуляции является
1. 1. Приложение, вызывая DLL, может использовать только метод динамического привязки в DLL
2 Полем Полем
3 Полем Полем
Кажется, нет такого ограничения на то, как использовать объекты в основной программе для DLL, я удивляюсь, почему?