Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi2007 IDE能否使用Delphi2010';是否在编译RC文件时使用s cgrc.exe?_Delphi_Rc - Fatal编程技术网

Delphi2007 IDE能否使用Delphi2010';是否在编译RC文件时使用s cgrc.exe?

Delphi2007 IDE能否使用Delphi2010';是否在编译RC文件时使用s cgrc.exe?,delphi,rc,Delphi,Rc,Delphi 2010中的CGRC.exe支持使用点作为资源名称。我也希望在Delphi2007IDE中使用它。这样做可能吗 在Delphi 2007 IDE中,当我们编译一个包含.RC文件的项目时,生成消息将显示如下内容: BRCC Command Line -w32 -foC:\Users\coder\Project\account.core.res -iC:\Users\coder\Project\developer -dDEBUG C:\Users\coder\Project\ac

Delphi 2010中的CGRC.exe支持使用点作为资源名称。我也希望在Delphi2007IDE中使用它。这样做可能吗

在Delphi 2007 IDE中,当我们编译一个包含.RC文件的项目时,生成消息将显示如下内容:

BRCC Command Line
   -w32 -foC:\Users\coder\Project\account.core.res -iC:\Users\coder\Project\developer -dDEBUG C:\Users\coder\Project\account.core.rc
但是,在我重命名文件时,它并没有真正使用BRCC32.EXE来编译RC文件

C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin\brcc32.exe 

显然,Delphi2007并没有给您一个运行什么的选项。如果它已经给了您一个直接运行RC的选项,那么使用CGRC将不会给您带来任何好处。CGRC除了将BRCC命令行语法转换为Microsoft的RC所需的语法外,什么也不做,然后运行RC

该实用程序的提供可能使IDE只需要一个命令行生成子例程,而不是两个或多个。使用此实用程序,IDE可以生成一组命令行选项,因此它只需根据不同的命令更改调用的EXE文件

您似乎暗示了将Delphi 2007提供的
brcc32.exe
文件替换为Delphi 2010提供的
cgrc.exe
文件的可能性。但显然,Delphi实际上并没有运行
brcc32.exe
。这表明实际的资源编译功能位于一个DLL中,该DLL由
brcc32.exe
和IDE或代码编译器共享。您不想走上替换DLL的道路


因此,我想你的问题的答案是否定的。你必须找到其他方法来实现你想做的任何事情。

在Delphi 2007中,我找到的唯一方法是运行RC.EXE或在预构建脚本或构建工具脚本中(我使用CCNet)

@Chau“支持使用点作为资源名称”是什么意思?我忍不住觉得,如果你能更好地解释你的问题,而不是直接解决问题,你可能会得到更好的帮助。@Chau而且,我相信CGRC只是一个引导程序,它会根据用户的偏好产生RC或BRCC。这显然与您前面的问题()有关,如果您只是编辑了该问题并解释了为什么答案有缺陷,这将更有意义。我的意思是在rc文件中有资源条目,如“file.data rcdata file.xml”。我不能在Delphi 2007或brcc32.exe中使用“file.data”作为资源条目名称。在Delphi 2010/XE中,我可以使用cgrc.exe或“Windows SDK资源编译器”,允许在资源条目名称中使用点。我需要的是一个解决方案,它允许我编译我的Delphi项目,该项目由资源名中带有点的.rc文件组成。替换brcc32.exe(不起作用)或为Delphi 2007编写插件。前面的问题()是针对Delphi 2010/XE的。但是Delphi2007不允许我们切换资源编译器。这个问题是针对Delphi2007的。@Chau Chie Yang如果你想使用RC,为什么不直接使用它呢。在构建脚本中,只需调用RC而不是BRCC32.Yes。我同意你的建议。我在Delphi2007IDE中编译我的项目(不是命令行)。我无法控制在Delphi2007中使用哪个资源编译器。我需要的是,是否有任何方法可以使用Delphi 2007 IDE中的CGRC.exe或RC.exe编译我的自定义.RC文件,该文件与资源名称中的点(.)联系。我突然想到,您真正应该问的问题是:“如何在Delphi资源名称中包含点?”显示您的资源脚本文件,并显示试图编译时收到的错误消息。(但也要准备好为需要在名称中使用该字符的原因辩护;您在资源脚本和代码中使用了命名常量,因此确切的名称根本不重要。)请参阅QC#85202。如果试图从文件中获取资源内容(文件名中通常有一个点…),BRCC32会抱怨。@Ldsandon,从文件中获取资源内容不是问题。问题是当您希望资源的名称包含一个点时。这甚至就是问题所在,但要获得更好的示例,请参见。@Chau Chie Yang:您必须从项目中删除.rc文件,只需链接.res文件即可。只要IDE在项目中找到一个.rc文件,它就会编译它。