掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
関数の宣言場所について (ID:17824)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>ちなみに、①に自分で作成した関数を記述した場合、何か問題とかはあるのですか? Button1Click等のイベントハンドラを作ったり消したりしたときに 不整合がおこっちゃったりする可能性がなきにしもあらずなので ①の部分には基本的に書いてはだめだと思っていてよいでしょう。 >たまに①に関数を記述してあるのを見かけるので その書いた人も理解してなかったのでは,,, 私も人のソースみて、そういう時があって、 ぶち切れそうになりました。(ああ若かったなあの頃〜♪) ③は、クラスのメンバーじゃない関数がほしい時に使います。 procedure AAA(ALabel: TLabel); begin ALabel.Caption := 'テスト'; end; と書いておいて procedur TForm1.Button1Click(...); begin AAA(Self.Label1); end; や procedur TForm1.Button2Click(...); begin AAA(Form2.Label1); AAA(Form2.Label2); end; こんな記述をするとメリットが理解できるかな? >③の場合は、呼び出し元より前(上)に書いておけば一々宣言しなくても良いので便利でもある。 procedure BBB(... begin...end; procedure TForm1.Button1Click(... begin BBB(...); end; とすればよくて type TForm1 = class(... ... public ... procedure CCC(... end; ... procedure TForm1.CCC(... begin ... end; proceudre TForm1.Button1Click(... begin CCC(... end; とするより、1行書く手間(TForm1の中身の1行)が省けるってことを意味している んでしょうが、そういう意味のメリットはほとんどないと思います。 ま。OOP(=オブジェクト指向)を理解していない ってのはその通りなので、そこらへんにより注意を向けて 勉強していくとスキルアップできるでしょう。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.