FDELPHI 12 /RE:04865 RE:Connect通知  こんにちは、スペース西 さん おかげさまで、私がなにを勘違いしていたかわかりました。 ヘルプを読んで、複数のボタンのクリックをトリガにして1つのメモコンポーネ ントを制御できそうだと判断したもので、それをそのまま応用しようとして、複 数の IdTelnet の OnConnect だの OnDisConnect をトリガにして1つのボタンコ ンポーネントを制御するのかな、と思って頭をひねっていたのでした。 この勘違いが解消されて、頭の中がとてもすっきりしました。 が、すっきりしたついでに、自分が何がわからなかったのかもわかりました。 》 Action1.Enabled := ((接続1Ok) or (接続2Ok) or (接続3Ok)); この方式だと、ActionList というオブジェクトは、IdTelnet というオブジェク トが何個あるかを知っていないとコードが書けないと思います。が、IdTelnet は ActionList の子供ではなく Form1 の子供なのです。なので、Form1 の方のコー ドを変更して IdTelnet が増えてしまったらこちらのコードも変更しなくてはな らないし、それこそ動的に Create するようになった場合には ActionList のコ ードが破綻してしまうと思います。 このあたりことがはっきりと自覚はできていなかったのですが、それでも直感的 にぼんやりと気がついていたので、#4851 で 》telnet が2つや3つなら if で羅列するとか timer で監視するという手もある 》と思いますが、今一つ美しくないというか、オブジェクト指向的でないと思って 》おります。 という表現になったのだと思います。 ということで、もしよろしければ、通知を行うオブジェクトの数などの変更が生 じても、通知を受けるオブジェクト側でコードの変更が発生しないような手法に 関する、なにか定石のようなものをご存じでしたら重ねてご教示いただけると幸 いです。                                 としき