1

我正在使用 DeDe 创建一个可以编译的 API(接口)。(严格来说:在我们等待供应商在两个月内交付 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

那些是字符串。前四个字节是引用计数,对于字符串文字,它始终为 -1 ($ffffffff)。接下来的四个字节是字符数。然后是字符一个空终止符。

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

您不必“怀疑”这些常量是否在任何地方使用。您可以凭经验确认。在没有这些常量的情况下编译您的项目。如果它编译,那么它们就不会被使用。

如果您的项目无法编译,则必须在代码中的某处使用这些常量。根据上下文,您可以提供自己的声明。如果常量像字符串一样使用,则声明一个字符串;如果它像整数一样使用,则声明一个整数。

Another option is to load your project in a version of Delphi that's compatible with the DCUs you have. Use code completion to make the IDE display the constant and its type.

于 2010-05-26T19:15:33.890 回答