文字列でプロパティを操作する方法

ども、Norimakiです。

この前、

メソッド名(文字列)でメソッドを呼び出す方法
http://usefultoolers.com/archives/80.html

というものをご紹介しましたが、今回はプロパティを文字列で操作する。
という方法をご紹介します。

これまたなんの役に立つのか?

という気もするかもしれませんが、僕はアプリケーション起動の際に
前回起動した設定を復帰させるために使用しています。

コンポーネントとプロパティ名を指定してコンポーネントの
プロパティを取得し、それを元に設定値をファイルに書き込む。

みたいな。

AddProperty(Component,’PropertyName‘);

という感じで使用しています。

文字列でプロパティを設定するので、関数が一つで良いという事になります。

プロパティの型ごとに関数を用意するならばoverloadなんかでたくさん用意するとか
しなければいけないかもしれません。
もっといい方法があるかもしれませんが、僕の頭ではこれが精一杯。

これが良いことかそうでないかは分かりませんが、
運用していく上で面倒がない。ということで使用しています。

この他の使用法で言うと、メソッドの時にも書きましたが、
スクリプトから本体ツール内のコンポーネントの操作ができる。

という事がメリットだったりします。

ということでソースです。
かなり前に取得したもので、どこから取得したものかは覚えていなかったりします。
開発者の方ありがとうございます。

一部端折っていますので、必要に応じて書き換えてください。
このままでは動かないかと思います。

uses に TypInfo か何かが必要だったかと。

【プロパティ取得】

string型で返ってきます。

【プロパティ設定】

tkEnumerationの部分で、何気にすべての例外をトラップしてますが(汗)。

とりあえず、こんな感じで動くかなと。設定データは文字列で与えます。

クラスについては、色々と処理しなければいけないものがあるので、
クラス名(Nm)で判断して、個々のクラス毎に処理関数を用意して対応すると。

上記のプロパティ設定では SetClassData という関数がありますが、
クラスの場合はそれを呼んで、その中でクラスに応じて分岐すると。
そういう感じで使います。

現時点ではそうしています。
とりあえずはそんな感じです。

ではでは。
Norimakiでした。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする