Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Вниз

Найти свойство по имени   Найти похожие ветки 

 
Ш-К   (2004-06-18 09:48) [0]

У меня есть св-во от TPersistent. Как мне получить его, если я знаю только имя?

Что-то типа:
function FindObjectProp(AInstance: TPersistent; AFindName: string): TPersistent;


 
Skier ©   (2004-06-18 09:50) [1]

TypInfo.pas


 
Гаврила ©   (2004-06-18 09:52) [2]

только для Published свойств
unit TypInfo;
function GetStrProp(Instance: TObject; const PropName: string): string;
{для строкового свойства, для других типов - функции там же }


 
Ш-К   (2004-06-18 10:45) [3]

Делаю следущее:

 ListView1.Columns.Clear;
 ListView1.ViewStyle := vsReport;
 ListView1.Columns.Add.Caption := "11111";
 ListView1.Columns.Add.Caption := "22222";
 ListView1.Columns.Add.Caption := "33333";
 TypInfo.SetPropValue(ListView1.Columns[2],
   "Caption", "aaaaa");

Все работает.
Хочу найти св-во Columns[2] по имени:

procedure TForm1.Button3Click(Sender: TObject);
var
 Propinfo: PPropInfo;
 AInstance: TPersistent;
begin
 Propinfo := GetPropInfo(ListView1.ClassInfo, "Columns[2]");
 if Propinfo <> nil then
   AInstance := TPersistent(GetOrdProp(ListView1, PropInfo));
 ....
end;

Не могу найти - Propinfo всегда nil.
Как получить PPropinfo от "Columns[2]"?
Собственно, мне надо устанавливать св-ва для TCollectionItem.


 
Amoeba ©   (2004-06-18 11:58) [4]

С-во должно быть Published и класс должен быть зарегистрирован.
Подобный вопрос рассматривался в форуме на днях.


 
Ш-К   (2004-06-18 12:25) [5]

Тогда поднимаю вопрос.
Если свойство не Published, что - кирдык?

SetPropValue(ListView1.Columns[2], "Caption", "aaaaa");
Выполняется же и с паблик св-вом. А мне-то надо всего чтобы:
SetPropValue("ListView1.Columns[2]", "Caption", "aaaaa");


 
Amoeba ©   (2004-06-18 12:33) [6]


> Ш-К   (18.06.04 12:25) [5]
> Тогда поднимаю вопрос.
> Если свойство не Published, что - кирдык?

Ага! Именно что кирдык. В RTTI есть информация только о Published свойствах.


 
DieHard   (2004-06-18 13:16) [7]

Что за имя такое у свойства "Columns[2]"?
Что в объявлении класса написано? "Columns"



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

Форум: "Основная";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.031 c
1-1087734403
Johnny Raw
2004-06-20 16:26
2004.07.04
Можно ли в StringGrid е каждой ячейки ...


1-1087357108
Zipkin
2004-06-16 07:38
2004.07.04
Main+Menu


9-1074853723
Дмитрий Терёхин
2004-01-23 13:28
2004.07.04
Участие в разработке игр


14-1087147882
Slava-soft
2004-06-13 21:31
2004.07.04
создать seekbar


4-1083439901
Thinker
2004-05-01 23:31
2004.07.04
Как сделать, чтобы окно приложения было поверх всех окон





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский