Strider5000 |
Изменение компонента в С++, подскажите пожалуйста. 15.11.2008, 16:59 |
|
22/09/08 20 Иваново
|
Всем доброго времени суток.
Вот такая проблема - создаю пакет, добавляю компонент. В качестве базового класса используется TPaintBox и задача - всего-напросто добавить свойство, которое бы при нажатии кнопки отрисовывало бы нам границы этого компонента. ну, сделал, скомпилировал, работает, все рисует. потом решил сделать не отрисовку, а заливку того же компонента. пишу код заливки вместо отрисовки линией границ. компилирую пакет... устанавливаю... сохраняю... пишу тестовую прогу.... запускаю... а в программе все равно идет отрисовка линией границ компонента, а не заливка. Вот почему так? неужели чтобы что-то исправить в пакете, его надо пересоздавать?
|
|
|
|
|
worm2 |
15.11.2008, 17:53 |
|
Заслуженный участник |
|
01/08/06 3131 Уфа
|
Причиной может быть, что программа подхватывает старую версию скомпилированного пакета.
Проверьте, что в тестовой программе используется действительно последняя скомпилированная (.bpl) версия.
Какая bpl действительно используется и где она лежит, можно узнать, нажав Ctrl+Alt+M в режиме отладки.
|
|
|
|
|
Strider5000 |
15.11.2008, 21:06 |
|
22/09/08 20 Иваново
|
спасибо большое! буду пробовать...
Добавлено спустя 56 минут 53 секунды:
Вот запустил окно подключаемых модулей(Alt+Ctrl+M)... Оказалось, что тестовая программа непонятно почему юзает другой пакет, который удален с помощью действий(Project->Options->Packages->пакет->Remove). В палитре компонентов компонента из этого пакета, естественно, тоже нет. Тем не менее в окне подключаемых модулей обнаруживается ссылка на уже не существующий пакет. попытка же добавить в том же окне нужный файл .bpl приводит к тому, что при повторном запуске приложения вылазит окно "CPU"...
|
|
|
|
|
worm2 |
17.11.2008, 13:11 |
|
Заслуженный участник |
|
01/08/06 3131 Уфа
|
Если Вы хотите избавиться от run-time package, надо проследить, чтобы ссылки на него не было в списке "Build with runtime packages".
Если Вы хотите откомпилировать другую версию пакета, надо следить, куда скомпилировался bpl-файл.
Напоминаю, что в Builder'е для каждого пакета, вообще говоря, создаётся 2 файла пакета: design-time package (с расширением dcp), который используется исключительно самим Builder'ом, чтобы помочь Вам правильно манипулировать компонентами на формах/модулях данных (в режиме разработки), и run-time package (с расширением bpl), который используется Вашей программой во время выполнения.
Возможно, Вы спутали эти два типа пакетов.
|
|
|
|
|
Strider5000 |
22.11.2008, 16:34 |
|
22/09/08 20 Иваново
|
Спасибо за информацию. Проблема была в том, что используемые в пакете файлы .cpp, .res, и .h находились в папке билдера '''Bpl'. перенос их в папку с пакетом и установка уже оттуда в список Requires решило проблему.
|
|
|
|
|
|
Страница 1 из 1
|
[ Сообщений: 5 ] |
|
Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы