Форум: "Основная";
Текущий архив: 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.033 c