|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » C++Builder 6.0 -> проблема с компонентами неправилно работает __property |
|
C++Builder 6.0 -> проблема с компонентами неправилно работает __property
|
Новый участник Сообщения: 31 |
Профиль | Отправить PM | Цитировать написал я компонент TExtProgressBar который создан при помощи базового класа TGraphicControl
Если в нем задать __property любого типа и при выполнении присвоить значение равное нулю тогда это значение ей не присвоится хотя никаких проверок на ее значение не ведется Например: ExtProgressBar.h Цитата:
ExtProgressBar.cpp Цитата:
|
|||
Отправлено: 10:14, 03-01-2007 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать Цитата:
if(value!=FProgress) // допустим fvalue==0 && FProgress==0 { FProgress=value; //............. Paint(); } сделайте конструктор и всё должно заработать. Или добавьте default в описание свойства |
|
Отправлено: 22:47, 05-01-2007 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Кстати маленькая ошибочка переменая Progress и FProgress не bool а int
pva Ты немного меня не понял. Я создал компонент, установил его и поместил его на свою форму но даже если в Design-time изменить например свойство Progress сначала на 10 а потом присвоить занчение 0 тода переменная будет..... 10 Точнее покажет что 0 но после компиляции будет 10. Цитата:
FWidth = 100; FHeight = 20; FProgress = 10; FMin = 0; FMax = 100; ...и т.д. но как я понял это влияет только на создание компонента но не на дальнейшее его существование Цитата:
Это освобождает компонент от отрисовки того же самого состояния (зачем нам перерисовывать весь рисунок если ничего не изменилось) |
||
Отправлено: 09:47, 10-01-2007 | #3 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать так, а если 20, а потом 0? Просто подозрительная кореляция с инициализируемым в конструкторе значением...
А, и вот ещё что: проверь типы. void __fastcall TExtProgressBar::SetProgress(bool value) { if(value!=FProgress) { FProgress=value; //............. Paint(); } } value не равно нулю, значит равно true, FProgress - то же самое. Не будет выполняться. Странно только, что нулю не присвоилось (в дизайнере). А что если MessageBox везде понавставлять? как блок отрабатывает то? |
Отправлено: 20:00, 10-01-2007 | #4 |
Новый участник Сообщения: 31
|
Профиль | Отправить PM | Цитировать Цитата:
10 это тько для наглядности в принципе знач. может быть любым (и 20 и 100 и ...) |
||
Отправлено: 09:13, 11-01-2007 | #5 |
Ветеран Сообщения: 1180
|
Профиль | Отправить PM | Цитировать я вот про это: void __fastcall TExtProgressBar::SetProgress(bool value)
просто придираться как компилятор уже стал. Цитата:
|
|
Отправлено: 11:09, 12-01-2007 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Debian/Ubuntu - Проблема ImageMagick не работает как нужно | viktor1969 | Общий по Linux | 1 | 17-04-2009 09:21 | |
Проблема с Gigabyte GA-8IPE1000, нестабильно работает | JohnMac | Непонятные проблемы с Железом | 13 | 12-11-2008 15:58 | |
C/C++ - [решено] (C++ Builder) Программа аутентификации - проблема вызова диалоговых окон и сохранения | Luzuk | Программирование и базы данных | 10 | 06-11-2008 05:34 | |
Delphi - Помощь с чатом для сети через TServerS\TClientSocket и компонентами! | BASSON_XVI | Программирование и базы данных | 1 | 23-10-2008 15:12 | |
Проблема с ноутом: не работает порт(клава) PS/2 | Rodrigo_F | Непонятные проблемы с Железом | 5 | 03-04-2008 06:57 |
|