喫茶XRAYトップページ


[6968] 必要な型を知る方法返信 削除
2013/5/18 (土) 00:00:53 Harry
このようなコードがあるとき…
-------------------------------------------------------------------------
procedure TForm1.AddMenu(Nantoka: ???);
var
  NewItem: TMenuItem;
begin
  NewItem:=TMenuItem.Create(Self);
  NewItem.OnClick:=Nantoka;
-------------------------------------------------------------------------
手続きの引数として与えたいこの Nantoka の型、つまり ??? に何を入れたら
良いのか?
実は、IDEにはそれがたちどころに分かる機能が備わっています。

  NewItem.OnClick:=Nantoka;
             ↑
          このあたりにマウスカーソルを合わせてください。すると、
このようなツールチップが表示されます。(内容はD6の場合。)

[ prop  TMenuItem.OnClick: TNotifyEvent - Menus.pas (218) ]

各々の意味はこうです。
 prop  TMenuItem.OnClick: … TMenuItemクラスのOnClickプロパティで、
 TNotifyEvent … TNotifyEvent型です。
 Menus.pas (218) … Menusユニットの218行目あたりで定義されてます。

このように、OnClickはTNotifyEvent型であることが分かります。
後はこれを適当に記憶して、tnot…くらいまで書いてコード補完を効かせれば、
あら簡単! TNotifyEventが出てきます。

実際の私の場合、OnClickにキャレットを置いてF1キーを押し、
TMenuItem.OnClickのヘルプを表示させ、そこからTNotifyEventの説明を出し、
それを読んでからコードを書きます。
(実はマウスの 中ボタン=ホイール にF1キーを割り当てており、それを気軽に
押しています。)

また、もっと詳しくTMenuItem.OnClickを知りたい場合は、OnClickの上で
右クリック → 定義の検索 を行えば、Menusユニットに記述されている
TMenuItemクラスの定義を見ることが出来ます。

※注意点として、ツールチップ表示による支援機能は、そこより前のコードに
エラーがあると正常に働かない場合があります。

INCM/CMT
Cyclamen v3.82