Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Глюки со свойством типа Double


Автор: Angel_19 24.8.2006, 20:55
Пишу компонент. У него есть два свойства типа Double. Когда значение свойств отличное от нуля, все отлично работает. А вот когда одно из ствойств равно нулю (оба равны нулю они не могут быть по условию) то наблюдается следующее: в дизайнере это свойство рисуется на компоненте правильно, при запуске программы это свойство равно значению которое я задаю в конструкторе компонента, а не то, что я задал в дизайнере. А просмотрев файл *.dfm - свойство с нулевым значением не сохраняется там!!! При запуске программы изменяются значения только те, что есть в *.dfm файле - т.е. онтличные от нуля, а значения равные нулю не изменяются и остаются такими, какими я задаю в конструкторе. Почему так происходит?

Автор: Romikgy 24.8.2006, 20:59
Angel_19, тыже не 1 день на форуме, где код?

Автор: Angel_19 24.8.2006, 21:29
Дак он сравнительно большой... Какую часть лучше? (Забыл добавить среда разработки BDS 2006)

Автор: Fedia 24.8.2006, 22:50
Цитата(Angel_19 @  24.8.2006,  20:55 Найти цитируемый пост)
А просмотрев файл *.dfm - свойство с нулевым значением не сохраняется там!!!

В *.dfm не сохраняютcя дефолтные значение. Возможно, у тебя в описании свойства заявлено default 0. 
Для определения сути проблемы из кода может понадобиться:
1. Объявление этих двух свойств компонента.
2. Конструктор компонента.
НО: скорее всего помимо конструктора, где-то еще происходит изменение значений этих свойств в случае, если они равны нулю.

Автор: Angel_19 25.8.2006, 08:11
Код вечером выложу.

Автор: Snowy 25.8.2006, 10:14
Пропиши у свойства 
Код
default 0 stored true;
Ну или не 0, а что-нить другое.
Кроме того пропертя должна иметь указания и read и write. При отсутствии любого из них - сохраняться не будет.

Автор: Angel_19 25.8.2006, 18:59
Вот сам компонент. Сильно не пинайте.

Проблема проявляется так: на форму бросаю компонент. Свойство Min меняю на "-22", а свойство Max меняю на "0". В дизайнере данные в компоненте изменяются как надо. Запускаю программу Max = 100, а Min=-22. Вот это и есть проблема. Что я не так делаю?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)