问题标签 [c++builder-xe7]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
719 浏览

properties - C++(Builder XE7)枚举类型属性神秘行为

我不是 C++ 专家,但需要将旧项目更新为 Embarcadero C++ Builder XE7。

此代码无法编译(fpFixed 行):

音高在哪里:

错误:“E2451 未定义符号 'fpFixed'”

另外两次尝试:

两者都有错误:E2108 typedef 'TFontPitch' 使用不当

但这 - 奇怪的是 - 编译,没有警告:

这是什么解释,我在这里做错了吗?刚刚通过反复试验得出了这个“解决方案”。

0 投票
0 回答
49 浏览

c++ - 以 64 位导出 C 接口

我有一个在 XE7 中完成的 dll 就绪接口,我想在 Visual Studio 2013 中使用。在 32 位中工作正常,但在 64 位中,我在尝试调用接口类的任何方法时遇到异常。

Embarcadero XE7 项目是这样的:

在 Visual Studio 中,我执行以下操作:

我不知道为什么会在 64 位中崩溃。

提前致谢。

伊格纳西

0 投票
1 回答
275 浏览

preprocessor - C++ Builder 文件版本不正确

我已经在 Project->Options->Version Info 中设置了文件版本(是的,勾选了“包含版本信息”)。

例如,我在所有发布配置中设置了 FileVersion: 0.95.1.73。但是当我重建时,文件版本总是设置为 0.7.8.28

我将 FileVersion 设置为什么并不重要,我总是得到 0.7.8.28。版权文本也来自一个非常旧的版本。

我试图清理删除项目的 Win32/Release 文件夹中的所有文件 obj、res、tds 等。但是每次都是一样的结果。

项目文件 (XML) 的新 FileVersion 为 0.95.1.73。这个问题只发生在发布配置上,调试配置工作正常。

任何线索在哪里看?任何可以覆盖它的编译器/预处理器指令?

0 投票
2 回答
826 浏览

c++ - 将默认构造的对象传递给函数时出现“E2188 表达式语法错误”

有人可以帮助解释上述错误吗?它使用 Embarcadero 的 XE7 发生。使用 Visual Studio 可以很好地编译相同的代码。XE7 上的问题,如图所示,只出现在test方法的第二行,所有其他情况编译正常。

编辑 对不起,我在示例中粘贴了错误的构造函数,现在已修复。当被括号括起来时,带有布尔参数的构造函数可以编译,但无参数的构造函数不会编译。

0 投票
2 回答
130 浏览

c++ - 设置 Firemonkey 控件的 OnMouseMove 方法

我有一个自定义控件,我正在尝试为其定义一个 OnMouseMoveFunction。本质上,该控件用作搜索栏,由一个编辑框和一个TGrid用于显示结果的子自定义控件组成。我已经处理了几个鼠标事件TGrid,但是在尝试实现 OnMouseMove 时,当我尝试设置TGridOnMouseMove 方法时出现以下错误:

E2034 Cannot convert 'void (_fastcall * (_closure )(TMouseMoveEvent))(TMouseMoveEvent)' to 'TMouseMoveEvent'

这是定义函数的头文件的一部分:

void __fastcall GridMouseMove( TMouseMoveEvent * MouseEvent );

这是控件的 CPP 文件中的实际函数:

到目前为止,一切都会编译得很好。但是,当我将TGridOnMouseMoveEvent 处理程序分配给我分配的方法时,我收到错误消息。

我错过了什么导致它无法构建?

0 投票
1 回答
168 浏览

c++ - 在代码中突出显示 TGrid 行

我有一个自定义控件TGrid,我正在尝试制作它,因此当鼠标悬停在一行上时,该行会突出显示。如果我使用箭头键导航网格,行会自动突出显示。但是,我不确定如何复制此效果以使用鼠标进行导航。

目前,我有一个 MouseMove 函数,它可以检测鼠标悬停在网格的哪一行。

我最初认为使用该SelectRow功能会达到预期的效果,但是使用该方法时没有任何反应。另外我尝试过使用

FGrid->SelectCell(0, rowSelected);

这也不起作用。

我已经验证我从函数中获得了正确的行,当鼠标悬停在它上面时,将一行的文本设置为粗体

FGrid->RowObjects[rowSelected]->SetBold();

0 投票
1 回答
89 浏览

firemonkey - Firemonkey 样式设计器使 TRectangle 填充父级

我正在尝试将TRectangle对象添加到样式设计器中的 Firemonkey 控件,以赋予控件背景颜色。我可以TRectangle手动添加和调整大小,但是如果控件在设计器中更改大小,则样式将不起作用。有没有办法让TRectangle自动占用它的父控件的大小?

0 投票
1 回答
901 浏览

c++ - 在 C++ 中以编程方式设置 Firemonkey 控制字体

我有一个扩展的自定义 Firemonkey 控件,TEdit它是在表单上动态创建的。我试图在创建它时设置它的字体大小:

但是,控件上的字体保持不变。

我有另一个相同类型的控件,它已经在表单上,​​我可以通过编程方式更改字体大小。我注意到这个控件,如果Size在属性中设置为 false,StyledSettings我可以更改字体,而如果Size设置为 true,我无法更改字体大小。

所以,当我创建我的自定义控件时,我试图以编程方式将Size属性设置为 false,但是我不知道该怎么做。

我试过了:

两者都不会编译。如何确保在运行时在我的自定义控件上删除此属性?还是有另一种方法我应该设置它的字体?

0 投票
2 回答
3055 浏览

static-libraries - 如何将 64 位 COFF 转换为 OMF?

我需要将 64 位 .lib 文件COFFOMF. Coff2Omf.exe与 32 位库一起工作正常,但给...

...在 64 位库上。是否有用于此的更新工具或类似工具?

0 投票
1 回答
913 浏览

c++ - 使用 TZipFile 创建一个新的 zip 文件

我正在尝试使用 TZipFile 类来创建一个新的 zip 文件并向其中添加一些文件。我可以使用以下代码将文件添加到现有的 zip 文件中:

但是,我不确定如何在代码中创建一个新的 zip 文件,然后向其中添加文件。我尝试调用zip->Open一个不存在的文件,认为这可能会创建存档,但这只会导致访问冲突。