Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.20;
Скачать: CL | DM;

Вниз

Порядок установки свойств   Найти похожие ветки 

 
Raduga   (2003-03-07 10:17) [0]

Здравствуйте, Уважаемые.
В каком порядке устанавливаются значения published-свойств компонента после его создания? И можно ли самому задать порядок,чтобы значение нужного published-свойства устанавливалось
перед установкой остальных?
Спасибо.


 
Игорь Шевченко ©   (2003-03-07 10:53) [1]

Посмотри в тексте DFM, в каком порядке записаны свойства этого компонента на форме. Вот в таком порядке они и устанавливаются при загрузке компонента из потока.

Зависимость поведения компонента от порядка загрузки свойств не есть хорошо.


 
REA ©   (2003-03-07 10:56) [2]

Не забывай проверять csLoading in ComponentState при загрузке. Тогда возможно и порядок не понадобится.


 
Юрий Зотов ©   (2003-03-07 17:14) [3]

> И можно ли самому задать порядок,чтобы значение нужного
> published-свойства устанавливалось
> перед установкой остальных?

Можно. Это порядок объявления свойств в классе (начиная с самого дальнего предка). Но такой зависимости лучше действительно избегать.


 
malkolinge ©   (2003-03-07 17:54) [4]

В общем проблема наверняка в том, что срабатывают "невовремя побочные эффекты" свойств. Например, при заданий ListField срабатывает метод SetKeyField, который для примера, занимаеться отображением и построением списка....Причем из потока это свойство грузиться раньше Дейтасоурса :) Метод решения :

1. Когда csLoading , то "спорные" свойства пишуться в буфер, при этом побочные эффекты нужно отключать
2. Есть такая процедура у TComponenta Loaded она запускаеться автоматически после загрузки из потока все свойтсв, перекрывая ее устанавливаем свойства в нужном порядке. Сам делаю так и Борланд вроде тоже. Пример Грид :)))



Страницы: 1 вся ветка

Текущий архив: 2003.03.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-64177
Andy BitOff
2003-03-07 21:01
2003.03.20
Передача параметра


1-64093
Lego
2003-03-07 14:10
2003.03.20
Подскажите как это сделать через CASE


1-64152
oly
2003-03-07 14:19
2003.03.20
Работа с DLL


1-64224
Leviathan
2003-03-09 17:30
2003.03.20
StringGrid


7-64404
Konstantin
2003-01-25 18:40
2003.03.20
Как связать две подпрограммы (запрос-ответ)