Здравствуйте, <Аноним>, Вы писали:
А>Не могу получить адрес поля:
А>{$M+}
А> TMyClass = class(TObject)
А> private
А> FMyField: Integer;
А> published
А> property MyField: Integer read FMyField write FMyField;
А> end;
А>{$M-}
А>FMyClass: TMyClass;
А> Result := FMyClass.FieldAddress('MyField');
А>Result равен nil.
А>Что я делаю неправильно?
Скорее всего потому, что 'MyField' это 'Property' а не поле.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Здравствуйте, Аноним, Вы писали:
D>>Скорее всего потому, что 'MyField' это 'Property' а не поле.
А>Не получается создать поле в Published зоне.
ну правельно. В сообщении об ошибке все четко написано.
[Pascal Error] Unit2.pas(27): E2217 Published field 'XXX' not a class or interface type
Что не понятно?
Спасибо.
Выходит, FieldAddress работает только в том случае, если поле есть экземпляр класса.