Как определить, есть ли некоторое свойство у объектаDelphi , Компоненты и Классы , Свойства и СобытияКак определить, есть ли некоторое свойство у объектаАвтор: Nomadic
Таким образом можно узнать наличие таковой published "прОперти". А вот если это не поможет, то можно и "ломиком" поковыряться посредством FieldAddress. Однако этот метод дает адрес полей, которые перечисляются сразу после объявления класса как в unit'ых форм. А вот ежели "прОперть" нигде не "засветилась" (published) то фиг ты ее достанешь. А модифицировать значение можно посредством прямой записи по адресу FieldAddress (крайне нежелательно!) либо используя цивилизованный способы, перечисленные в unit'е TypInfo. Модифицировать кучу объектов можно организовав цикл перебора оных с получением в цикле PropertyInfo объекта и записи в объект на основе PropInfo. Here's the translation of the text into Russian: Делфи-связанный вопрос! Код, который я предоставил, проверяет, существует ли определенная свойство с именем 'Hint' на объекте Вот разбивка каждого из строк:
1. Последняя часть вашего текста обсуждает изменение значений свойств для множества объектов, итерируя их и используя Альтернативное решение:
Вместо использования Вот пример:
Функция Определить, есть ли у объекта некоторое свойство, можно с помощью метода TypInfo.GetPropInfo или FieldAddress, а модифицировать значение свойства - через прямую запись по адресу или используя цивилизованный способ из unit'а TypInfo. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Свойства и События ::
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |