0

我编译我的应用程序项目的发布版本。当我用二进制编辑器查看我编译的最终 exe 时,我可以看到我自己创建的对象的所有类名,例如:TPolygon、TRectangle 等...,作为 exe 中的二进制文本数据。

我如何从 exe 中删除此信息。我尝试在 dpr 中删除禁用 RTTI:

{$WEAKLINKRTTI ON}
{$RTTI EXPLICIT METHODS([]) PROPERTIES([]) FIELDS([])}

但不是运气,任何提示。

4

1 回答 1

2

如果您要从可执行文件中删除类名,那么您的应用程序将停止工作。编译到应用程序中的 .dfm 文件包含类名。运行时流式传输框架需要能够在类注册表中查找这些类,如果没有名称,那么您的表单及其属性将无法流式传输。

最重要的是,正如 AlexSC 指出的那样,实现TObject.ClassName需要类的名称出现在可执行文件中。

于 2013-07-18T20:04:12.590 回答