![]() |
|
Модераторы: Snowy, MetalFan, bems, Poseidon |
![]()
|
|
| Avers |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.6.2008 Где: 26rus Репутация: нет Всего: нет |
http://gunsmoker.blogspot.com/ - информация на эту тему, спс CodeMonkey))
Попробовал так сделать, решил проблему. Нужно было компонент, используемый и в приложении и в плагине влинковывать и туда и туда (странное желание, но.... ), чтобы не создавать еще одного пакета, требуемого приложению и плагину для работы. Но! Одно но! Компопнент DevExpress (а именно TcxButton) не желает принимать вид в стиле XP, т.е. несмотря на
остается в стиле, который принимает по умолчанию (W98). Подскажите, возможно ли, и как решить таку проблемку. --------------------
Born to be wild |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Может манифест XP-ёвый надо подключить?
-------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Avers |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.6.2008 Где: 26rus Репутация: нет Всего: нет |
Мне видится проблема в том, что не выполняются (как я понял) части Initialization и Finalization Unit'ов, находящихся в пакете (а у DevExpress эти части не пусты).
И еще вопрос: Как правильно выгрузить пакеты (загруженные ч/з LoadLibrary)?? Например у меня возникает проблема, если пользователь отказывается логонится и закрывает форму аутентификации (она - есть один из пакетов) - винда пишет, что в приложении и ошибка и предлагает отправить куда-то об этом отчет %) - чувствую себя средневековым человеком, которому предложили управлать космическим кораблем. Добавлено через 1 минуту и 52 секунды но манифест обязательно попробую И компонентик девэкспресовский (спец для этого дела) тоже надо заюзать. Кста, если сменить LoadLibrary на LoadPackage - это решает проблему с отображением кнопок --------------------
Born to be wild |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
Я не понял, а вы вызываете функцию Initialize пакета или нет?
Очевидно: FreeLibrary. Значит в приложении действительно ошибка. И её нужно искать. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Avers |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.6.2008 Где: 26rus Репутация: нет Всего: нет |
Вопрос в том, обязательно ли выгружать ее вручную. Ну, к примеру с пакетами (т.е. при использовании LoadPackage), это делать не обязательно (Рассметоренно в этой теме)... Напрашивается ответ, что случай с LoadLibrary аналогичен, и можно вручную не выгружать. Но лучше узнать, чем предполагать)) Пробовал и так и эдак, т.е. в данном случае вызов функции Initialize можно опустить - пакет функционирует нормально - проблема лишь с внешним видом кнопок. Если вызвать, то возникает ошибка. Как я понял, это один из модулей компонента (cxButton), который продублирован в приложении и в загружаемом пакете, пытается снова зарегестрировать класс cxRec (без понятия че за класс и зачем он нужен - полазил по unit'ам - не нашел). О чем совственно и сообщает ошибка.... Это сообщение отредактировал(а) Avers - 13.1.2009, 09:40 --------------------
Born to be wild |
|||
|
||||
| Avers |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.6.2008 Где: 26rus Репутация: нет Всего: нет |
Словом, проблему с ошибкой при досрочном закрытии формы аутентификации временно решил - просто заменил LoadLibrary на LoadPackage, ибо нет времени устранить истинную причину.
Проблема на самом деле в интерфейсе, который я передавал от приложения пакету (форме аутентификации). Передавал в качестве свойства интерфейса самой формы..... теперь понимаю, что это только лишний гемор (прошу прощения) при выгрузке пакета.... --------------------
Born to be wild |
|||
|
||||
| CodeMonkey |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1839 Регистрация: 24.6.2008 Где: Россия, Тверь Репутация: 29 Всего: 89 |
>>> Напрашивается ответ, что случай с LoadLibrary аналогичен, и можно вручную не выгружать
Ну если идёт выход из программы - то, разумеется, можно и не выгружать вручную. -------------------- Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. |
|||
|
||||
| Avers |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.6.2008 Где: 26rus Репутация: нет Всего: нет |
XPManifest увы, не желает работать вне приложения... :(
В моем случае - он не желает придать божеский вид кнопками на форме из пакета. Причем не зависимо от того, как этот самый пакет подгружать - хоть через LoadLibrary (с выполнением процедуры Initialize), хоть через LoadLibrary. Добавлено через 2 минуты и 59 секунд Сорри... поспешил.... Прост по незнанию и неумению (до этого манифест не использовал ни разу) я его и забросил на форму, в пакет. Положив его на главную форму приложения - проблема решилась. --------------------
Born to be wild |
|||
|
||||
![]()
|
| Правила форума "Delphi: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |