Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Присвоить свойство из строки [D7, WinXP]


Страницы:   1 2

Den303 ©   (2007-08-21 11:54:00) 

Доброго времени суток!

Такой вопрос: есть набор свойств в текстовом виде (из xml), нужно задать свойства контрола из этого файла.
Короче, как задать свойство компонента, которое хранится в виде строки?

Рыл в сторону FindComponent, но он находит только контрол, а не его свойства.


Den303   (2007-08-21 14:30:00) [21]

Чтоб новую ветку не создавать, кину ещё вопросец:
Как disable'ить конкретную строку в ValueListEditor?


den303   (2007-08-21 13:25:00) [22]

TNX за ответы.

Нашёл (после обеда сразу голова заработала :o) ) ошибку, оказывается, Sender был TValueListEditor, недосмотрел. Всё работает, пасиб


Юрий Зотов   (2007-08-21 12:18:00) [23]

> den303 ©   (21.08.07 12:13) [8]

1. Определяем тип свойства (см. TypInfo).
2. Преобразуем строку в значение этого типа.
3. Вызываем SetPropValue.


den303   (2007-08-21 12:18:00) [24]

SetPropValue((sender as TControl),ObjectsValueList.Strings.Names[ObjectsValueList.Row-1],ObjectsValueList.Strings.ValueFromIndex[ObjectsValueList.Row-1]);

Sender - TLabel
ObjectsValueList - TValueListEditor,
ObjectsValueList.Strings.Names[ObjectsValueList.Row-1] - к примеру, меняю Top, в текстовом виде нормально (надпись "Top").
ObjectsValueList.Strings.ValueFromIndex[ObjectsValueList.Row-1] - значение, в текстовом виде нормально (надпись "50").


den303   (2007-08-21 12:13:00) [25]

Точнее, даже на Invalid Class Typecast. Не пойму, в чём дело


Сергей М.   (2007-08-21 12:13:00) [26]


> ругается на Invalid Typecast


Ну а как не "ругаться", если ты, к примеру, целочисленному свойству пытаешься задать строковое значение ?)


Сергей М.   (2007-08-21 12:11:00) [27]

SetPropValue()


den303   (2007-08-21 12:11:00) [28]

Пробую присвоить свойство через SetPropValue - ругается на Invalid Typecast :-(


den303   (2007-08-21 12:07:00) [29]

Спасибо за разъяснения.

Какие конкретнодля моего вопроса функции, не подскажете?


Сергей М.   (2007-08-21 12:05:00) [30]


> нужны такие вещи, как Top... Name... Сaption... Font.Style


Это не публичные, а опубликованныесвойства.

Для работы с оными имеется набор функций в составе typinfo.pas


Den303   (2007-08-21 12:03:00) [31]

Только публичные, грубо говоря создаю форму из xml, нужны такие вещи, как Top... Name... Сaption... Font.Style...


Сергей М.   (2007-08-21 11:56:00) [32]


> находит только контрол, а не его свойства


а какие св-ва тебя интересуют  - приватные, защищенные, публичные, опубликованные ?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо