重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

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

A 回答 (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関数になります。
    • good
    • 0
この回答へのお礼

ありがとうございました

おっしゃるとおりに
Formのprivate函数にしたところ
エラーが消えて,うまくいきました。

これでDelphiプログラムがかなり自由に組めそうですね。
本当に助かりました。

丁寧にお教え頂き深く感謝いたします。

お礼日時:2009/10/21 16:44

参照は、


S := StringGrid1.Cells[Col, Row];
更新は、
StringGrid1.Cells[Col, Row] := S;
    • good
    • 0
この回答へのお礼

ありがとうございます。

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

お礼日時:2009/10/20 18:05

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!