问题标签 [rad-studio]

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 回答
69 浏览

c++builder - 如何在 RAD 工作室中使用 TLang 翻译 MainMenu?

我在 RAD studio 10.3, c++ builder 中创建了一个非常简单的应用程序。我决定添加语言支持。我找到了 TLang 组件——这正是我想要的。它适用于所有“表单上”组件,如 Edit、Label、CheckBox 等。但它不适用于主菜单 (TMainMenu)。它只是对语言切换没有反应。

开关是这样完成的

我的猜测是 TLang 只检查字符串开关的控件,但 TMainMenu 不是 TControl 的子项。无论如何 - 如何使用 TLang 翻译主菜单?当然,我可以自己编写 TLang 之类的东西并让它翻译我想要的任何组件,但它需要时间,所以我现在正在寻找准备好的东西。

0 投票
1 回答
76 浏览

c++builder - TIdHTTP->Connect() 获取会话ID的授权响应

我正在使用该TIdHTTP组件连接到我的服务器。我正在使用以下代码(这不是完整的代码,我已经删除了不必要的代码行)。使用下面的代码,我可以连接到服务器,GET并向它发送请求。

我的查询是在授权时(在Connect通话中),服务器发送一个 sessionID,这是在发出GET请求时需要的。http->Connect()呼叫成功后如何获取该 sessionID ?

如果我使用GET授权请求,那么我会使用 Cookie 管理器获取会话 ID。但是我很感兴趣,如果我可以通过Connect()电话得到它。

0 投票
0 回答
102 浏览

firemonkey - Firemonkey tEdit OnPaint

我有一个tEdit,我想用一组不同的颜色来绘制它的Fill矩形Stroke。我编码如下:

它正确地绘制了控件的矩形,但无法聚焦,因为单击控件时,它会进入触发HandleEditPaint不间断的循环。我怎样才能避免这种情况发生?我知道在绘制控件的矩形时,我也必须注意控件的文本,但我也应该关心鼠标光标吗?有没有办法使用样式来实现这种行为?

0 投票
1 回答
60 浏览

gdi - GDI - OffsetRgn() 函数的意外结果

我正在使用 Embarcadero RAD Studio C++ builder XE7。

对于使用 Windows GDI 的绘图功能,我需要将剪辑区域添加到画布的设备上下文中。

通过测试我的代码,我注意到有时剪辑区域小于预期大小。我搜索了原因,发现 OffsetRgn() 函数有一个奇怪的行为,这让我有点困惑。

要应用剪辑区域,我使用类似于以下的代码:

像这样写的注释,在他的上下文之外,上面的代码并没有真正的意义,我知道这是不合逻辑的。请不要评判它的质量,这不是我提问的目的。我收集了几个摘录,我将它们组合成一个可执行代码来提出问题。

硬编码值是问题发生时我在应用程序中获得的值的一个示例。如果我执行上面的代码,我会测量:

  • 在 sourceRect 值中,left = 0,top = 0,right = 60,bottom = 7
  • left = 50, top = 0, right = 60, bottom = 7 in intermediateRect 值
  • 左 = 50,上 = 0,右 = 60,下 = 6在 finalRect

然而,我希望 finalRect 中的底部值也应该等于 7,这是画布限制,因为我只移动了该区域而没有其他任何内容。那么为什么它的价值突然变得比预期的要小呢?

0 投票
1 回答
442 浏览

delphi - 在不丢失 Windows 命令的情况下创建无边框表单

我已将表单更改为无边框表单,我只是将BorderStyle属性更改为bsNone,但现在我的应用程序丢失了 windows 锚点和一些命令,例如

WIN + ↑ (对齐客户端)
WIN + ↓ (最小化表单)
WIN + →(对齐表单右)
WIN + ←(对齐表单左)

我尝试在 中设置BorderStyle: bsSizeable和使用以下代码FormCreate,但这不起作用:

结果:

我的表格

上图是我想要的,但是我已经提到的 Windows 命令不起作用

有什么方法可以设置BorderStyle: bsNone并且不会丢失这些命令?

已编辑

如果我使用WS_THICKFRAME我的表单返回一个小的顶部边框并且 windows 命令运行良好,但我不想要那个顶部边框。

我的表格2

已编辑 2

我非常接近预期的结果,但还有一点问题......

我把这个放在我的FormCreate

我创建了方法

接着

我在这里得到了这个方法

现在边框已经消失了,但是当我的表单失去焦点时,顶部/底部边框再次显示......

我怎样才能避免这种情况?

在此处输入图像描述


解决了

我离开了边界BorderStyle: bsSizeable,然后我做到了:

GitHub 上的解决方案

我在这里创建了一个存储库

0 投票
1 回答
232 浏览

c++ - 如何在(C++)构造函数参数列表中包含 std:list?

我有使用 BorlandC++Tlist和其他 Borland 特定类编写的遗留代码。我完全是 STL 的菜鸟。

我不知道如何重新声明一个看起来像这样的构造函数:

下面的声明给出了缺少“)”的错误!(在 BorlandC++/embarcadero 中编译)

上面有什么问题?应该如何声明std:list

(我知道很多代码必须更改,因为TStringList没有相同的方法std:list。)

0 投票
1 回答
246 浏览

delphi - 问 Delphi7 NtQueryObject 和 NtQuerySystemInformation

你能解释一下为什么句柄类型“进程”在 Process Hacker 中有一个 PID / 进程名称:

来自流程黑客的示例

我已经尝试过NtQueryObject()NtQuerySystemInformation()但所有这些都不起作用。句柄类型“进程”上没有 PID / 进程名称。

0 投票
1 回答
53 浏览

c++builder - bcc64.exe 如何存储调试信息?

我正在开发调试器,现在我需要支持从 bcc64.exe / ilink64.exe 生成的二进制文件中检索调试信息。

32位版本的bcc32.exe/ilink32.exe将调试信息放到TDS文件中,但是bcc64.exe/ilink64.exe没有生成TDS文件。

肯定有一些调试信息存储,因为当我尝试从 RAD Studio 中调试此类可执行文件时,它显示二进制文件具有调试信息,调用堆栈显示正确的条目。

0 投票
0 回答
169 浏览

delphi - 将单元安装到 RAD Studio

我对编程很陌生,我正在学习如何使用 RAD Studio。我想在我的项目中使用这个单元: https ://github.com/OneChen/FMXNativeDraw 我已经下载了名为“FMXNativeDraw-master”的整个文件夹。但我知道在我的项目中实际使用它的唯一方法是将它提取到与项目文件相同的文件夹中。我想将它永久安装到我的 RAD Studio 中,这样我就可以将它包含在新项目中,而无需每次都复制文件。我怎么做?

预先感谢您的帮助!

0 投票
1 回答
507 浏览

delphi - FMX.Graphics.TCanvas.DrawEllipse 在 Android 上不起作用

我正在用 FireMonkey 和 Delphi 制作简单的绘图应用程序。它真正做的只是画线和椭圆。这是代码:

当我在 Win32 或 Win64 下编译它时,这段代码可以完美运行。但是当我尝试编译它并在 Android 设备上运行时,只显示行,并且省略了省略号。有谁知道为什么会这样?

预先感谢您的帮助!