Delphi のユニットでソースコードの一部をより適切に整理するために、いくつかの新しいトリックを習得しようとしています。アクセスする関数またはメソッドの一部がクラス内のクラスのように見えることに気付きましたが、クラス内で動作するクラスを作成することにまだ成功していません。コンパイルは正常に行われますが、コードを実行するとエラー メッセージが表示されます。
私がやりたいことは、設定または取得する関数、手順、および値を含む一種のツリーを作成することです。誰かが例を挙げて少し助けてくれたら幸いです。今日、タイプであるいくつかのクラスがあります。次に、型を変数に割り当てます。something=TSomething そして、何かが起こるように「something.action」と記述します。
私の目標は、さらに進んで、サブ関数またはサブプロシージャーを定義することです。3つまたは4つのクラスがあるとしましょう。TSnippet、TAction1、TAction2、TSubAction1 など。これらを単一の変数に使用または割り当てて、次のように使用したいと思います。
Snippet.Action1.SubAction1.Organize(param1,param2);
Snippet.Action2.SubAction2.Returns='SomeString';
Snippet.Action1.SubAction1.SomeProcedure;
このアプローチが機能するためのコードの書き方など、役に立つ例を教えてくれる人はいますか? また..コードのそのような実装が、コードを実行するために必要なCPYCyclesにどのように影響するか、すべて異なる名前の何千ものプロシージャを持つ昔ながらの方法にどのように影響するかを誰でも知っていますが、より直接アクセスします(より直接アクセスのように感じます)。
私の最初のテキストの時点では、おそらく少し不明確でした。これは次のとおりです。プログラミングを少し簡単にするために、利用可能なプロシージャ/関数のエディタの自動提案を利用したいと思います。このためのクラスの作成を開始しましたが、うまく機能します。クラス名「Data」を考えてみましょう。データで何ができるか? 編集、追加、削除、保存、読み込みができます。Ok。これは私の最初のクラスです。
次に、別のクラス「暗号化」を考えてみましょう。DES、DES3、HASH、BITSHUFFLE を実行できます。3 番目のクラス「Compress」に進みます。LZW、ZIP、RAR、MP3、MPG、MP4 などを実行できます。
これらを 3 つの異なるクラスとして使用する代わりに、それらを 1 つに結合し、それらを別々に保ちたいと考えています。他のクラスの一種の OwnerClass を作成したいと思います。これを「MyStuff」と呼ぶことができます
「MyStuff」と入力するたびに。エディターで、「データ、暗号化、圧縮」のリストを表示する必要があります。さらに、「圧縮」を選択すると、そのクラスのプロシージャと関数の次のリストが表示されます。
クラスにはいくつかのローカル変数がある場合がありますが、主な機能はグローバル配列に向けられています。
たぶん、これを達成する他の方法があります。知らない。私の基本的な目標は、一緒に属するルーチンを分類してまとめられるようにすることです。これは Units で既に行われていますが、エディターからの自動リストでは役に立ちません。前もって感謝します。モルテン。