Загрузить Delphi Seattle BPL из DLL Delphi 7 - PullRequest
0 голосов
/ 06 октября 2018

У меня есть основное приложение в Delphi 7, которое загружает dll Delphi 7 (давайте назовем dll «X»).Эта библиотека является «ядром приложения» и «базой данных на основе кода базы данных».Эта DLL содержит много вещей.Помимо основного приложения, у меня есть много других DLL, которые используют X DLL для доступа к базе данных.Это устаревшее приложение.

Мне нужно перенести приложение в Delphi 10 Seattle, но я не могу сделать все сразу.Это очень большое приложение.

Поэтому мне пришла в голову идея: преобразовать основное приложение и создать новую структуру базы данных, на этот раз в Delphi Seattle BPL, загружая статически.Когда мое приложение запускается, я динамически загружаю X dll.В X dll я динамически загружаю BPL и изменяю все методы, которые обращаются к базе данных, чтобы использовать методы BPL.Таким образом, мои другие dll, к которым я сейчас не буду прикасаться, будут продолжать работать.

Проблема в том, что я не могу загрузить BPL из X dll.Он только что поднял AV.Я попытался использовать LoadLibrary и LoadPackage, оба не удалось.Я обнаружил, что если я скомпилирую эту Xll в Delphi Seattle, она будет работать как шарм.Но я не могу этого сделать, потому что, как я сказал в начале, у этого Xll есть много вещей помимо доступа к базе данных, и у меня нет времени, чтобы конвертировать все прямо сейчас.

Итак,вопрос: Как я могу загрузить Delphi 10 Seattle BPL из DLL Delphi 7?

...