掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ユニット分割について (ID:150069)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
> その別pas はフォームでいいんだよ 我々はおそらく誤解しています. 彼の当初の目的は汎用的なユニットの作成だったのではないかと思います. そこで彼が目を付けたのがフォームです. > その方法だと別アプリで利用の際に都度作り直しになってしまうので > 生成処理を別PASに記述し使い回し>で動的生成を行おうと思いました。 だったのですが,方向が変わりました. フォームは,アプリあるいは〃アプリ内でもフォームによって処理コードが違います. そこで,実行時に Delphi のコードを作成して,それを実行することを考えたわけです. つまり,実行時に処理コードを作成すれば,状況に応じたコードにできます. その時点で「使い回し」はあまり意味を持たなくなりました. 「使い回し」でばなく柔軟性を採用したのです. 使い回しという点では,あらかじめ pas ファイルを作成しておけば済みます フォームを作成するということは,そのフォームの pas ファイルを作成することと同じです. そうではない pas ファイルを別に作成するということは,この時点で, 面倒であるとか,手間がかかるという問題は考慮されなくなりました. 彼が言うところの「動的生成」は, 我々の使用している「動的生成」とは意味が違います.例えば,我々の場合, TButton を「動的生成」する場合,その生成用の pas ファイルを実行時に作成することはありません. 処理コードには当然イベントの処理もあります. そこでイベントの処理のテストを開始しました.それが最初の質問のコードです. 当然,クラス等の実装がないユニットでテストする必要があったわけです. おそらく,彼の考えに近いのは InuptQuery のような関数ではないかと思います. InputQuery 関数は,実行時にフォームを作成して表示します. そのフォーム作成のコードを実行時に作成して pas ファイルとするものと思われます. [ 09_実行時にフォームを作成して表示する関数 ] http://mrxray.on.coocan.jp/Delphi/plSamples/123_ReusingForm.htm#09 そのためには,uses に記述するユニット名が必要だと思った ( pas ファイルの作成なので ). そのユニット名を自分が追加するのではなく, Delphi の IDE から自動的に取得して追加することを考えた. といったところでしょう. 彼の書き込みを,フォームの利用,あるいはユニットの分割という視点で読んでいると 「訳が分からない」 ということになってしまいます. あまくまでも,実行時に pas ファイル作成して,それを実行するのが目的です. その対象をフォームにした,ということになります. 以上が私の分析です. > その方法だと別アプリで利用の際に都度作り直しになってしまうので 他のアプリで使用していたフォームですから,ある程度の修正は必要です. たからと言って 彼が主張する pas ファイルを作成すればそれを回避できるのか ? フォームを作成するのだって,そのフォームの pas ファイルを作成するのと同じなのに. と思ってしまいますよね.普通に考えれば,多分.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.