Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как загрузить *.bpl и получить с него классы через GetClass [D7, Win2k, WinXP]


Страницы:   1 2

incms ©   (2006-10-24 14:05:00) 

Загружаю пакет через LoadPackage  и делаю GetClass. Но GetClass возвращае nil.
Для каждого класса из пакета делаю RegisterClass в секции initialization.

Если в свойствах проекта ставлю галочку Build with runtime packages, то все работает. Но тогда мой проект компилится без пакетов, что мне не нужно.


DrPass   (2006-10-24 16:25:00) [21]


> Игорь Шевченко ©   (24.10.06 16:22) [4]

Один - статически скомпонованный с программой, другой - в rtl*.bpl, которая загрузится в адресное пространство приложения первым же пакетом


DrPass   (2006-10-24 16:23:00) [22]


> А заставить прогу использовать для библиотеки уже имеющийся
> экземпляр RTL можно ?

В том-то и дело, что никак. Пакет ведь просто импортирует функции у известных ему библиотек. В проге есть такие же функции, статически с ней скомпонованные, но скомпилированному отдельно от нее пакету они, само собой, недоступны.
А что тебе мешает запихать в дистрибутив программы дополнительные файлы?


Игорь Шевченко   (2006-10-24 16:22:00) [23]


> А если не поставишь, у загружаемых тобой пакетов будет свой
> экземпляр RTL


Это как ?


incms   (2006-10-24 15:45:00) [24]

DrPass

А заставить прогу использовать для библиотеки уже имеющийся экземпляр RTL можно ?
Прога по сама должна работать без всяких доп файлов.
Нужно ехать с шашечками! :)


DrPass   (2006-10-24 14:27:00) [25]

Забыл добавить, если ты загружаешь пакет через LoadPackage, тебе все равно придется тянуть с ним всякие rtl*.bpl/vcl*.bpl, т.к. он-то их использует. Так что в этом случае какого-либо смысла статически компоновать RTL с приложением нет.


DrPass   (2006-10-24 14:18:00) [26]


> Если в свойствах проекта ставлю галочку Build with runtime
> packages, то все работает

А если не поставишь, у загружаемых тобой пакетов будет свой экземпляр RTL, и вызываемая в них RegisterClass соответственно чихать хотела на твое приложение. Так что выбирай, тебе шашечки или ехать


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо