Delphi 是否将DeDe常量转换为有效声明或其他接口提取工具?

Delphi 是否将DeDe常量转换为有效声明或其他接口提取工具?,delphi,decompiling,Delphi,Decompiling,我正在使用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

我正在使用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|; LTIMGLISTCLASS= 00:00ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ| 10:IST32|49 53 54 33 32 00|; DS_前缀= 0:DICM.| FF FF FF 04 00 00 44 49 43 4D 00 |; 如何将它们转换为可编译语句

理论上,我不关心实际值,因为我怀疑它们是否在任何地方使用,但我希望它们的大小正确。这些是整数、长数还是


关于使用DeDe的任何其他提示都是受欢迎的。

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

const
  LTIMGLISTCLASS = 'LEADIMGLIST32'; // 13 = $0D characters
  DS_PREFIX = 'DICM'; // 4 = $04 characters
您不必“怀疑”这些常量是否在任何地方使用。你可以凭经验来证实这一点。编译没有这些常量的项目。如果它编译了,那么它们就不会被使用

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


另一种选择是在与您拥有的DCU兼容的Delphi版本中加载您的项目。使用代码补全使IDE显示常量及其类型。

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

const
  LTIMGLISTCLASS = 'LEADIMGLIST32'; // 13 = $0D characters
  DS_PREFIX = 'DICM'; // 4 = $04 characters
您不必“怀疑”这些常量是否在任何地方使用。你可以凭经验来证实这一点。编译没有这些常量的项目。如果它编译了,那么它们就不会被使用

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


另一种选择是在与您拥有的DCU兼容的Delphi版本中加载您的项目。使用代码补全功能使IDE显示常量及其类型。

Rob,您是da man!谢谢而且,“另一个选择是在与您拥有的DCU兼容的Delphi版本中加载您的项目。使用代码完成使IDE显示常量及其类型。”这非常有创意!!谢谢你,罗布,你是达曼!谢谢而且,“另一个选择是在与您拥有的DCU兼容的Delphi版本中加载您的项目。使用代码完成使IDE显示常量及其类型。”这非常有创意!!谢谢