毎日Learning

学んだことを共有します

Delphiデザイナーで「継承元の値に戻す」が非活性になって押せないときの対応方法

最近、Delphiをお仕事で使うことがあったのですが、デザイナー表示のときに「継承元の値に戻す」をやっといてーって言われてでけへんかったことがありまして、そのときの回避方法を書いておきます。

そもそも「継承元の値に戻す」のは、デザイナー上で右クリックしてやるのですが、非活性になることがあるんです。

f:id:yoshiyoshifujii:20131231164408p:plain

これってどうやってもこうなってて、なんでやねーん!!ってなってたんですが、社内の有識者に聞いてまわったところ、、、

どうやら継承関係にあるデザイナービューを親子共にデザイナービューで開いた状態で右クリックすると非活性になるそうです。

もっと詳しくサンプルコードベースで説明すると、、、

親クラス(SampleBase.pas)

unit SampleBase;

interface

uses
  XXX;

type
  TSampleBaseFrame = class(TFrameBase)
...


子クラス(Sample.pas)

unit Sample;

interface

uses
  XXX;

type
  TSampleFrame = class(TSampleBaseFrame)
...


この状態で、親クラスと子クラスのデザインビューを開いた状態で右クリックすると、親クラス側が非活性になるのです。

まあ、子クラスのデザインビューを開いた状態やと活性にならんゆーことですね。

裏仕様っぽいというかなんというか…。