2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Изменение компонента в С++, подскажите пожалуйста.
Сообщение15.11.2008, 16:59 


22/09/08
20
Иваново
Всем доброго времени суток.
Вот такая проблема - создаю пакет, добавляю компонент. В качестве базового класса используется TPaintBox и задача - всего-напросто добавить свойство, которое бы при нажатии кнопки отрисовывало бы нам границы этого компонента. ну, сделал, скомпилировал, работает, все рисует. потом решил сделать не отрисовку, а заливку того же компонента. пишу код заливки вместо отрисовки линией границ. компилирую пакет... устанавливаю... сохраняю... пишу тестовую прогу.... запускаю... а в программе все равно идет отрисовка линией границ компонента, а не заливка. Вот почему так? неужели чтобы что-то исправить в пакете, его надо пересоздавать?

 Профиль  
                  
 
 
Сообщение15.11.2008, 17:53 
Заслуженный участник
Аватара пользователя


01/08/06
3131
Уфа
Причиной может быть, что программа подхватывает старую версию скомпилированного пакета.
Проверьте, что в тестовой программе используется действительно последняя скомпилированная (.bpl) версия.
Какая bpl действительно используется и где она лежит, можно узнать, нажав Ctrl+Alt+M в режиме отладки.

 Профиль  
                  
 
 
Сообщение15.11.2008, 21:06 


22/09/08
20
Иваново
спасибо большое! буду пробовать...

Добавлено спустя 56 минут 53 секунды:

Вот запустил окно подключаемых модулей(Alt+Ctrl+M)... Оказалось, что тестовая программа непонятно почему юзает другой пакет, который удален с помощью действий(Project->Options->Packages->пакет->Remove). В палитре компонентов компонента из этого пакета, естественно, тоже нет. Тем не менее в окне подключаемых модулей обнаруживается ссылка на уже не существующий пакет. попытка же добавить в том же окне нужный файл .bpl приводит к тому, что при повторном запуске приложения вылазит окно "CPU"...

 Профиль  
                  
 
 
Сообщение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), который используется Вашей программой во время выполнения.
Возможно, Вы спутали эти два типа пакетов.

 Профиль  
                  
 
 
Сообщение22.11.2008, 16:34 


22/09/08
20
Иваново
Спасибо за информацию. Проблема была в том, что используемые в пакете файлы .cpp, .res, и .h находились в папке билдера '''Bpl'. перенос их в папку с пакетом и установка уже оттуда в список Requires решило проблему.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group