掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
ユニット分割について (ID:150056)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
>おそらく,[共通した処理をユニットして利用すると便利]といったようなフレーズ から思いついたのか知れません. JavaScriptやブラウザーアドンを作成する際は外部JSでcreateelementを利用しフォームを作成し、それと同じファイルにイベントをappendのような記述をするのは基本的な手法になるので同じようにやってみようと考えた次第です。 >コマンドラインコンパイルというのは,IDE を起動しないでコンパイルして EXE を生成するものです.生成した EXE は起動しません. IDE を起動しないでコンパイルして EXE を生成するものと言う部分は理解していますが、起動しないexeを作るのならコンパイルする意味が・・・・。 コンパイルは、ソースから実行ファイルを生成するのを意味しているという感じで理解していました。 想定としては、usesを物に合わせて加えtypeinfoやOTAのGetPropNameの結果をログだしするソースを与え、コマンドラインコンパイルの実行ファイルを生成し、shellapi等で実行しプロパティーを取得し、そのログを処理すると言う想定でした。 >使用もしない大量のユニットを uses するのは無理があります. >それらは通常,プログラマが判断して uses への追加を考えます. そのために、使用するもののみ自身でusesし行おうと考えた次第です。 >フォームのユニットの処理ではコンポーネント以外のユニットも必要です. あっ。それは、今回の別ユニットでフォーム作成とは別のはなしで take様とのRTTI実行時型情報を使ってと言う話についての、その部分での困ったことは uses関係くらいと言う秘密のやりとりでした。 >フォームを作成してコントロールの生成も実行時に行う処理を共通化というのは考えにくいです. 利用時は、stringgrid専門の生成&関数を作成したり editboxだけのフォームを生成する。と言う単一の処理を1ファイルで行うのを目的としており、リネームのように入力した値を返すだけのフォームで返値の先が別とかstringgridのheader有りじのinsertやappend、削除の処理をfixedcolの状態で判断し同じ構文で統一化する感じの関数を持たせようとしていた次第です。 >コードの編集等も Tools API の機能を利用すると可能になります.それは実行時の機能ではなく,設計時の機能です. Tools APIを利用すると貼ってあるコンポーネントのプロパティーは実行時にでも表示が可能なので、コンポーネントパレットの情報をグループやコントロールでLBで一覧し、そこで選んだプロパティーを表示させたい。表示させるにはusesが必要なので、動的にさせたいという感じになりました。 配置さえしていればtyopeinfoやGetPropNameで取得ができるので、今回のように思った次第です。 自身のスニペットを見たところ、最終的にレジストリやフォルダーからBPL名を取得して そこからソースを取得し、正規表現でprocedureとfunction一覧を出す感じで実装していました。 ちなみに、その際にアイコンも取得しようと思いMr.XRAY様のページをめっちゃグルグルさせていただいていました。 アイコンの背景が同じ条件で取得しているのに、まれにピンクになったりならなかったりり、指定色を透過指定等色々試しても改善せず、たまに思い出してはグルグルと(^_^;) 最終的には長期探索の結果DrawIconExの引数で対応できるということが発覚しました。 ------------------- 結局、この部分の@sample_module.で対象を明確にするという知識が無かった為に (LMethod.Code := @sample_module.OnMouseMoveEvent;) LMethod.Code := OnMouseMoveEvent; や LMethod.Code := form.OnMouseMoveEvent; のような感じで行おうとし、イベントが違うからunitでは使えないという風に捉えていたため、最初のアドバイスが生かせずにマウスイベントは別ですと言う意味が理解できず、すでに教えたのに違うのか?じゃなにをしたいんだ。という感じだったんですね。 ちなみにTools APIですが、cnwizerd(cnscript)で正規表現のtregexprがusesしても利用できな原因は同等機能のユニットがひそんでいるからなのでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.