在C ++ Builder中“使用”部分等价物

时间:2013-04-01 23:08:36

标签: c++builder

我正在使用C ++ Builder 2009,我正在尝试让我的Korzh's Localizer组件处理我的Fast Reports进行翻译。该组件正确翻译了我的其余程序。

为了翻译Fast Reports,还有一个额外的步骤。在说明中,可以通过将单位名称放在LocFRProcs部分中来使用uses。不幸的是我的delphi知识很少,所以我不知道在C ++中相当于这个......我的猜测是我需要做一些包含......但是我不知道如何用它做。 pas文件。

一些屏幕截图用于澄清

搜索LocFRProcs

enter image description here

包含LocFRProcs.pas的目录:

enter image description here

用于将LocFRProcs添加到使用部分的Korzh说明:

enter image description here

更新2:

  1. 打开localizer12项目文件。
  2. 右键单击项目并转到选项
  3. 点击链接
  4. 将“链接器输出”更改为“生成所有C ++ Builder文件(包括包libs)”
  5. 点击确定
  6. 右键单击项目并选择构建。
  7. 我认为这会产生一个LocFRProcs.hpp或LocFRProcs.h文件,但没有。
  8. 使用generate all构建后的目录的屏幕截图: enter image description here

2 个答案:

答案 0 :(得分:5)

uses子句的C ++等价物确实是#include语句。您不包含.pas文件,而是包含其C ++ .hpp头文件,例如:

的Delphi:

uses
   ..., LocFRProcs;

C ++:

...
#include <LocFRProcs.hpp>

如果您没有LocFRProcs.hpp文件,则必须首先编译LocFRProcs.pas。如果你没有在IDE中安装Delphi个性和/或组件包不包含用于在C ++ IDE中编译.pas文件的C ++项目,C ++ Builder有一个命令行Delphi编译器无论哪种方式,在编译.pas文件时,您都可以配置Delphi编译器输出C ++支持文件(.hpp,.obj,.lib等)。

答案 1 :(得分:0)

雷米(Remy)的回答肯定是正确的,但是由于此问题出现在Google搜索中与C ++ Builder等效的“使用”部分中(从标题开始),所以我只想指出,当主要是德尔福时库表示在“用途”部分中包含一个单位,这可能意味着以下一项或多项:

(1) #include statements 
(2) .lib file included in the Project 
(3) #pragma link

这是DevExpress VCL dxRichEditControl提出的,有关添加新文件保存格式的文档说:“将dxRichEdit.OpenXML,dxRichEdit.Doc和/或dxRichEdit.Html单元添加到uses子句中”

对于该库,这意味着:

(1)添加#include语句

#include "dxRichEdit.OpenXML.hpp"
#include "dxRichEdit.Html.hpp"
#include "dxRichEdit.Doc.hpp"

(2)将.lib文件添加到项目中

C:\Program Files (x86)\DevExpress\VCL\Library\RS26\dxRichEditControlDocFormatRS26.lib
C:\Program Files (x86)\DevExpress\VCL\Library\RS26\dxRichEditControlHtmlFormatRS26.lib
C:\Program Files (x86)\DevExpress\VCL\Library\RS26\dxRichEditControlOpenXMLFormatRS26.lib

(3)不需要#pragma链接,因为这些语句已生成并包含在.hpp文件中