1

DeDe を使用して、コンパイルできる API (インターフェイス) を作成しています。(厳密に言えば、ベンダーが 2 か月で D2010 バージョンを提供するのを待っている間、少なくともアプリをコンパイルすることができます...)

すべてのメソッドをスタブします。

Dede は次のような定数宣言を発行します。

  LTIMGLISTCLASS =
    00: ÿÿÿÿ....LEADIMGL|FF FF FF FF 0D 00 00 00 4C 45 41 44 49 4D 47 4C|
    10: IST32。|49 53 54 33 32 00|;

  DS_PREFIX =
    0: ÿÿÿÿ....DICM.|FF FF FF FF 04 00 00 00 44 49 43 4D 00|;

これらをコンパイル可能なステートメントに変換するにはどうすればよいですか?

理論的には、実際の値はどこでも使用されているとは思えないので気にしませんが、サイズを正しくしたいと思います。これらは整数、LongInts、または ??? ですか?

DeDe の使用に関するその他のヒントは大歓迎です。

4

1 に答える 1

6

それらは文字列です。最初の 4 バイトは参照カウントで、文字列リテラルの場合は常に -1 ($ffffffff) です。次の 4 バイトは文字数です。次に、null ターミネータの文字が続きます。

const
  LTIMGLISTCLASS = 'LEADIMGLIST32'; // 13 = $0D characters
  DS_PREFIX = 'DICM'; // 4 = $04 characters

これらの定数がどこでも使用されているかどうかを「疑う」必要はありません。経験的に確認できます。これらの定数なしでプロジェクトをコンパイルします。コンパイルされた場合、それらは使用されません。

プロジェクトがコンパイルされない場合、それらの定数をコードのどこかで使用する必要があります。コンテキストに基づいて、独自の宣言を提供できます。定数が文字列のように使用される場合は、文字列を宣言します。整数のように使用する場合は、整数を宣言します。

もう 1 つのオプションは、所有している DCU と互換性のある Delphi のバージョンにプロジェクトをロードすることです。コード補完を使用して、IDE に定数とその型を表示させます。

于 2010-05-26T19:15:33.890 に答える