从delphi.exe中提取项目文件

时间:2014-07-09 22:16:57

标签: delphi delphi-xe

我拥有打开设备和代码所需的所有文件,但我无法进行任何更改或编译,因为缺少Project.dproj和Project.dpr文件。但是,我有.exe文件。有没有办法从.exe文件中提取上述文件?

2 个答案:

答案 0 :(得分:2)

编译器在构建时添加RTTI元数据(包括单元名称),如果您知道如何布置RTTI表,则可以提取它。单元列表是DPR文件的主要组件,但访问它需要一些认真的工作,我不知道有任何工具可以读取已经保持最新的Delphi 7时代的RTTI表。

至于.dproj文件,你运气不好。这实际上并不包含任何“编译”到EXE的代码;它是一套关于如何生成EXE的构建说明。但是如果Delphi IDE没有,它可以从.dpr生成一个默认的.dproj,如果你可以生成它。

但是,我很好奇。你是如何获得.pas文件而不是.dpr?

答案 1 :(得分:2)

如果您拥有所有源文件,即.pas和.dfm文件,那么我要做的第一件事就是将它们全部添加到新项目中并尝试编译它。它可以正常工作,这意味着你已经拥有了所需的一切,或者它会产生错误。

会有三种错误:

第一种是最有可能的 - 表单可能会使用您尚未安装的组件。如果您尝试在IDE中打开表单,这将是显而易见的。如果他们没有大张旗鼓地打开,那就太棒了!如果你有一个警告框说"找不到组件:删除对它的引用?"或类似的东西,然后你可能会被冲洗。

第二个是版本特定的错误 - 这些错误的东西已经过时且不再受语言支持。

第三,该程序可能使用您没有的运行时库。