• ベストアンサー

Delphiでコンポーネントをfunctionから参照するには

Delphiで例えば、StringGridのCellsプロパティをeventで呼ばれる procedureではなく自分で作ったfunctionで参照したり,更新したりできる 簡単な方法がありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

>event procedure ならそれでエラーも出ませんが >functionではStringGrid1が未定義となりコンパイルできません。 functionはFormのprivate関数またはpublic関数にしていないのでしょうか? そうしていれば、#1で書いた方法でできます。 Formに依存しない関数にしているのなら、 S := Form1.StringGrid1.Cells[Col, Row]; Form1.StringGrid1.Cells[Col, Row] := S; としなければなりませんが、このような関数は望ましくはありません。 (結局はForm1に依存しているので) TForm1のprivateセクションに、 function xxxx(xx: xxx): xxx; と記述し、 implementationに、 function TForm1.xxxx(xx: xxx): xxx; begin ・・・・ end; と記述すれば、Formのprivate関数になります。

dogbin
質問者

お礼

ありがとうございました おっしゃるとおりに Formのprivate函数にしたところ エラーが消えて,うまくいきました。 これでDelphiプログラムがかなり自由に組めそうですね。 本当に助かりました。 丁寧にお教え頂き深く感謝いたします。

その他の回答 (1)

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

参照は、 S := StringGrid1.Cells[Col, Row]; 更新は、 StringGrid1.Cells[Col, Row] := S;

dogbin
質問者

お礼

ありがとうございます。 event procedure ならそれでエラーも出ませんが functionではStringGrid1が未定義となりコンパイルできません。

関連するQ&A