こんにちは。vamviewと申します。
いつもお世話になっております。
クラスのプロパティを変数名で指定することは可能でしょうか?
例えば、PanelのTopもしくはLeftを指定値に変更するような処理を実装したいときに、以下のような形式で指定したいのです。
PropertyName := 'Left';
Panel.ほにゃらら(PropertyName) := 10;
JavaScriptを例にすると、以下のような形です。
Panel[PropertyName] = 10;
ご存知の方いらっしゃいましたら宜しくお願いいたします。
vamviewさん、こんにちは。
(Delphi-ML:60801 より)
Delphiのバージョンが不明ですが、D5以降ならusesにTypInfoを追加して、
SetPropValue(Panel, PropertyName, 10);
のように記述できます。但しPropertyNameに指定できるのはPublishedなプロパティ限定です。
#LeftはOKです。
ありいさん、ご回答ありがとうございます。
まさに求めていたとおりの機能でした!
ありがとうございました。
ツイート | ![]() |