| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Build with runtime packages |
| Автор: Bose 5.3.2007, 17:06 |
| Подскажите пожалуйста, можно ли как-нибудь в приложении проверить с какими настройками packages оно было скомпилировано: с использованием runtime packages, или без них. Заранее спасибо. |
| Автор: _hunter 5.3.2007, 17:37 |
| лехко: смотриш зависимости, если там есть всякие vcl'ы -- значит с использованием. |
| Автор: Alexeis 5.3.2007, 17:44 |
| Bose, Пакеты это же Dll переменованные в bpl, потому первое, что напрашивается поискать в списке Dll стандарные Bpl ки. Если есть значит компиллировали с ними, но на самом деле их можно ведь подгружать динамически, потому если в тот момент они не загружены, то и не узнать. Но скажем, когда уже создана форма основные VCL ские уже должны быть в памяти. |
| Автор: Snowy 5.3.2007, 18:12 |
| Все bpl-ки прописаны в таблице импорта Задача сводится к просмотру таблицы импорта на предмет файлов с расширением bpl. |
| Автор: Snowy 5.3.2007, 19:21 |
| Ну... Простое решение - GetPackageInfo. Если в списке модулей отсутствует System - значит скомпилено с пакетами Просто я думал, что тебе список пакетов нужен, а не сам факт |
| Автор: _hunter 5.3.2007, 20:02 |
tdump'ом но если это для самотестирования нужно -- придется разбирать ехе-шник. описание формата где-то на MSDN'е видел... |
| Автор: Snowy 5.3.2007, 21:17 | ||||
| Да, блин. Если нужно просто определить факт юзанья, то не нужно ничего разбирать. Всё просто. Определить, юзает ли программа пакаджи можно так:
|
| Автор: Bose 5.3.2007, 21:24 |
| Snowy, - как всегда поразил недюженными знаниями. Спасибо большое. Буду плясать от GetPackageInfo Package support routines _hunter, спасибо за идею. Но, задача не критичная, и "чем решать её таким трудом, имхо, проще не решать вообще ". Я попробую через процедуры поддержки Packages в Delphi. Спасибо за ответы, о результатах отпишусь завтра. |
| Автор: Bose 6.3.2007, 00:23 | ||
Огромное спасибо![+] Сам бы я эту функцию мучал бы намного дольше. Добавлено @ 00:27 Проверил, вариант Snowy работает как часы. :-) |