1

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

为了翻译Fast Reports,还有一个额外的步骤。LocFRProcs在说明中,通过将单元名称放在部分中来参考使用uses。不幸的是,我的 delphi 知识很低,所以我不知道 C++ 中的等价物……我猜我需要做某种包含……但我不确定如何使用 .帕斯文件。

一些屏幕截图以供澄清

搜索LocFRProcs

在此处输入图像描述

具有的目录LocFRProcs.pas

在此处输入图像描述

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

在此处输入图像描述

更新 2:

  1. 打开 localizer12 项目文件。
  2. 右键单击项目并转到选项
  3. 点击链接
  4. 将“链接器输出”更改为“生成所有 C++ Builder 文件(包括包库)”
  5. 点击确定
  6. 右键单击项目并选择构建。
  7. 我认为这会生成一个 LocFRProcs.hpp 或 LocFRProcs.h 文件,但没有。

生成全部后的目录截图: 在此处输入图像描述

4

2 回答 2

6

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

德尔福:

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 等)。

于 2013-04-02T00:25:39.130 回答
0

Remy 的回答当然是正确的,但是由于这个问题在 Google 搜索中出现在 C++ Builder 中等效的“使用”部分的顶部(来自标题),我只想指出,当一个主要的 Delphi 库说在“用途”部分包含一个单位,它可能意味着以下一项或多项:

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

这提出了 DevExpress VCL dxRichEditControl,有关添加新文件保存格式的文档说,“将 dxRichEdit.OpenXML、dxRichEdit.Doc 和/或 dxRichEdit.Html 单元添加到使用条款”

对于那个图书馆,这意味着:

(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 文件中

于 2019-01-01T23:17:25.190 回答