Главная страница
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.015 c
14-64282
Scorp
2003-03-06 08:56
2003.03.20
Добавление файла в проект


3-63967
Zelius
2003-02-27 14:57
2003.03.20
Как правильно делать транзакции при удалении/создании таблиц?


1-64218
KpeHgeJIb
2003-03-08 13:27
2003.03.20
Вопрос о TList


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


1-64178
_stranger_
2003-03-07 17:58
2003.03.20
Qreport