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

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 投票
0 回答
73 浏览

alignment - TBrush位图对齐

我有一个TPaintBox控件并将其分配TPaintBox->Canvas->Brush->Bitmap给一个准备好的TBitmap网格图案。是客户端在TPaintBox其父级 ( Form) 内对齐。

当我手动调用TPaintBox->Invalidate()重绘控件时,画笔在左上角(0,0 - 左图)完美对齐,但是一旦我调整窗口大小,画笔偏移量就会变为(20,7 - 右图),直到我手动再打电话TPaintBox->Invalidate()

在此处输入图像描述

我曾尝试使用一种标准画笔模式,例如bsBDiagonaland bsCross,但它们的行为都相同(Invalidate()调用和form调整大小之间的对齐方式不同)。

我尝试使用 Win32 APISetBrushOrgEx()手动设置画笔对齐,但它对窗口调整大小更新没有影响。如果我手动调用它确实工作得很好Invalidate()

如果我在onPaint处理程序中设置断点并检查画笔 origo 是什么,即使未对齐,它也总是回答 (0,0)。

Canvas->RectFill()用来填充背景。

有任何想法吗?

0 投票
1 回答
2261 浏览

xml - 如何设置 XML 解析器的小数点字符?

我正在读取 XML 文档中的属性字段,其中小数点始终是小数点,'.'并且本地计算机可能与此不同(在我自己的情况下是',')。

我试图将全局设置FormatSettings.DecimalSeparator'.'但它对 XML 解析器没有影响。这是问题的一个非常压缩的版本。

假设这个 XML 文件。

阅读属性比例后,我总是得到带有“。”的结果。导致 Value = 1234 而不是 1.234 的字符。

小数位数不是恒定的,它们可以是 1 或 4 或介于两者之间的任何值。这也适用于整个部分,因此除以 100 或 1000 不会解决问题。

我希望 OLEVariant 接受'.'小数点(我的本地是',')。

我看了看,SetLocalInfo()但这将为所有应用程序设置格式。该getlocale()函数操纵当前线程,但我还没有找到明确指定要使用的字符的方法。似乎只能选择代码页或本地化,就像在一个国家/地区一样。

编辑
我尝试使用setlocal()并选择English-US作为本地化。即使 US'.'用作小数点分隔符,XML 解析器似乎也忽略了这一点。

如果我在 XML 文件中手动将其更改'.'为 a ,它就可以正常工作。','但是 XML 文件是第三方文件,我无法控制。'.'所以我真的需要用小数分隔符阅读它

0 投票
1 回答
4359 浏览

64-bit - 未在 switch 中处理的枚举值

将我的项目编译为 64 位目标时(这不被视为 32 位目标上的警告),我收到以下警告:

我以某种方式设法关闭了错误/警告消息编号,所以我不知道在我的代码中使用#pragma warn.

我需要使用#pragma warn,因为我只想禁止在我的代码中批准的地方(关闭并再次打开警告)。

奖金问题:有谁知道如何再次取回错误/警告号码?

0 投票
1 回答
143 浏览

windows - C++Builder XE5 调试器显示???用于调用堆栈中的手表和函数参数

我在使用 C++Builder 调试器时遇到了很多麻烦。我正在使用带有所有补丁和更新的最新版本 XE5。

症状或多或少如下:我可以运行我的应用程序并调试它一次,但如果我关闭应用程序(“正确”,或在调试器中重置程序),下次我运行它通常会只是显示????对于手表值,调用堆栈将显示调用堆栈,但参数的函数通常也会显示???。

关闭 IDE 并再次打开是我见过的“解决”这个问题的唯一方法。我曾尝试重建整个项目组或类似的东西,但这无济于事。

我在 Windows 7 Pro、64 位 VM、6 Gb RAM、分配的 3 个处理器和大量免费高清上运行。后台没有运行奇怪的东西:没有防病毒软件,除了 IDE、Notepad++ 和 SourceTree 什么都没有。关闭除 IDE 之外的所有内容也无济于事。

该应用程序是一个 VCL 32 位应用程序,项目组由大约 12 个包和 2 个 exes 组成。我使用运行时包和动态 rtl。这些项目都是新的,我的意思是,它们没有从以前版本的 C++Builder 的项目中更新:所有这些都是从一开始就在这里完成的。

0 投票
1 回答
44 浏览

debugging - xe5 调试器进入错误行

调试器不允许我为其中一个库文件的多行设置断点。当我进入导致错误的函数调用并逐步执行时,事实证明程序正在运行到库中的一些有线行,例如

空行或};

而不是正确的方法。

我已经进行了清理、重建和制作,但它的行为仍然相似。

知道发生了什么吗?

0 投票
1 回答
1212 浏览

c++builder - 无法加载包 DbxCommonDriver180.bpl 错误。C++ 生成器 XE 5

我们目前有一张 Embarcarderro 支持的工单,但我们想知道其他人是否遇到过这个问题,如果有,他们是如何解决的。

我们目前正在尝试将我们的 IDE 从 XE 更新到 XE5。当我们在同一台机器上编译和运行 exe 时,我们构建它时一切正常。但是当我们尝试在另一台没有安装 IDE 的机器上运行 exe 时,我们会收到以下错误。

Create_dbExpress_Connections 中的错误:无法加载包 DbxCommonDriver180.bpl。

问题是,我很确定 XE4 使用了 180 个文件。我们没有或曾经在我们的任何计算机上使用过 XE4。我们的 exe 包含 DBXCommonDriver190.bpl 和 rtl190.bpl。

我们尝试了以下但没有成功

在下面的链接中,我们尝试搜索 driver.ini 文件。我们没有找到该文件,但是我们确实找到了一个没有引用 DBXCommonDriver180.bpl http://qc.embarcadero.com/wc/qcmain.aspx?d=119396的 dbxdriver.ini 文件

我们尝试将所有 190.bpl 文件从构建环境转储到一个干净的环境中,并得到了同样的错误。

我们还被告知我们可能应该对我们的项目进行以下更改 C++ Linker->Link with Dynamic RTL = false C++ Linker->Link with the Delphi Runtime Library = false Packages->Runtime packages->Link with the runtime packages =错误的

当我们尝试进行这些更改时,我们的项目将无法编译。

我们正在尝试使用 C++builder XE5 更新 2 并安装了修补程序 2。

请任何帮助将不胜感激。

0 投票
1 回答
609 浏览

hide - 仅隐藏主窗体并将其保留在任务栏中

我有一个主窗体是 x 个 ToolWindows 的父窗体。我想隐藏主窗体,但将其保留在任务栏中。

当我设置主窗体Visible = false时,它隐藏并保持 ToolWindows 可见,到目前为止一切都很好。但是任务栏中的图标也消失了。

我想隐藏主窗体,保持 ToolWindows 可见并保留任务栏图标,这样我就可以再次恢复主窗体。

0 投票
1 回答
324 浏览

c++builder - 链接器无法打开 COMCTRLS.OBJ

我只是想将我的C++Builder 项目从重建RAD Studio XEXE5. 由于这是一个相当大的项目,我已经为此苦苦挣扎了一周(更新/修改几个 Delphi 组件等)。

我最终无法修复的是链接器错误告诉我COMCTRLS.OBJ无法打开。正如我在回答类似问题时看到的建议创建一个新的项目文件而不是升级我这样做(这又花了我半天的时间),但没有任何改变。

知道如何解决这个问题吗?

0 投票
10 回答
8476 浏览

c++builder - 检测到 c++ Builder xe5 错误 (LME288)

c ++ Builder xe5 [ilink32错误]错误:无法执行链接[ilink32警告]警告:检测到错误(LME288)

当我尝试在 windows xp 上编译测试项目 c++ builder xe5 时发生这种情况

0 投票
2 回答
13101 浏览

delphi - 从 FTP 服务器下载目录

我正在通过 RAD Studio ( IdFTP) 开发 FTP 客户端。如何从服务器下载目录?德尔福或 C++。谢谢。