子コンポーネントの関数を呼ぶには

解決


デンデンダイコ  2006-05-26 01:36:25  No: 21811

カスタムコンポーネントで親コンポーネント(Panel)と子コンポーネント(Labelなど)を作っているのですが、親コンポーネントから子コンポーネントの関数を呼び出す方法がわかりません。
//親コンポーネント
var
  StrLst :TStringList;
Begin
  StrLst := TStringList.Create;
  for i := 0 to ControlCount do
  begin
     StrLst.Add(//子コンポーネント[i]の関数呼び出し);
  end;
end;
//子コンポーネント
Function 子.GetStr:String;
var
  Str : String;
begin
  Str := 'test'
  result := Str;
end;
子はGetStrを必ず持つとするとき、
このような形で関数を呼び出し、親コンポーネントにデータを渡すことができるでしょうか?
アドバイスなどお願いします。


ん?  2006-05-26 02:01:35  No: 21812

if Controls[i] is T子Conrol then begin
   StrLst.Add(T子Conrol(Controls[i]).GetStr);
end;

そもそも子があるのがわかっているなら、そのコンポーネントを変数として持っていたらいいのでは?
配列で管理しておけば、楽かと思われるが。


デンデンダイコ  2006-05-26 03:21:10  No: 21813

ん?さんありがとうございます、無事解決しました。
いろいろと試してみたいとおもいます。
アドバイスありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






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