问题标签 [delphi-xe3]

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

delphi - 如何从 Delphi 中的 TList<> 读取分组数据

在 C# 中,Linq 会让这变得超级简单,但我是在 Delphi 中使用列表的新手,我需要一些建议。

我有一个对象列表,TList<IMyInterface>每个对象本质上都是一个数据集合,例如

我希望创建一个新TList<TList<IMyInterface>>的列表中的项目分组的位置,例如:

在 Delphi XE3(入门版)中执行此操作的最有效方法是什么?

0 投票
1 回答
2619 浏览

delphi - 如何在 Delphi XE3 的 Firemonkey FM2 应用程序中设置非客户区的样式

我之前在 Delphi XE2 时间范围内问过这个问题,当时的答案是一个非常丑陋的 hack

根据官方发布说明,现在 Delphi XE3 支持非客户端主题。你如何在 Firemonkey FM2 的 Delphi XE3 中做到这一点?

我相信这一定与样式书有关,但我无法弄清楚。表单本身有一个“EnableBorderStyling”属性,我将其设置为 true,我想我必须加载一个包含一些非客户端主题数据的样式,但我找不到包含它的样式。

帮助与此主题无关​​。

Update2好的,没坏,只是我没有包含这个样式元素的样式(如RRUZ所说)。

Update3:样式文件似乎位于两个不同的位置,这令人困惑:

请注意,我在这两个地方都没有 Luna.Style(firemonkey 风格),但是使用 Style Editor 工具需要 5 秒。(打开,另存为,将类型更改为 .Style,我就有了!)

更新 4: RRUZ的答案有效,但在我的系统(Windows 8 RTM)上,非客户端样式看起来不正确,它们在未完全绘制的区域周围有白色角。调整窗口大小使它消失,我很确定我应该能够强制 WM_NCREPAINT 或其他东西,让它消失。

0 投票
2 回答
1672 浏览

delphi - 在同一个 Windows 上同时安装 Delphi 2010 和 XE3?

我的 Win7 现在安装了 RAD Studio 2010 和 Delphi 2010,我可以单独安装 Delphi XE3 吗?那么 Delphi 2010 和 XE3 都可以在同一个 Windows 上运行吗?

谢谢!

0 投票
3 回答
4436 浏览

delphi - TMediaPlayerControl 视频大小

早上好家伙!

我目前正在试验 XE3,我有兴趣使用FM2. 我面临一个关于视频规模的问题,或者更确切地说,似乎完全缺乏对它的支持。

我在表格中添加了 aTMediaPlayer和 aTMediaPlayerControl并将它们连接起来。然后我添加了一个具有简单播放/停止功能的按钮,以及另一个用于加载视频文件的按钮。但是,播放的每个视频都以实际分辨率播放(尽管 align 设置为alClient)。我已经尽可能地查看了文档和源代码,但我似乎找不到任何缩放或重新调整实际视频区域大小的方法。唯一的例外是如果我将实际窗口的大小调整为小于视频区域,此时它将在保持纵横比的同时缩小。

作为附加说明,视频区域出现在所有标准控件之上,无论它是否“发送回”。

至少,我很感激任何关于使用新的FM²/Firemonkey2 XE3 媒体组件调整或缩放视频区域的输入。目前是否有可能,还是我们将等待补丁来改进实施?

0 投票
1 回答
910 浏览

delphi - 为什么这段代码不能在 XE3 中编译

此代码在 XE2 中编译,但在 XE3 中出现“[dcc32 Error] Unit71.pas(55): E2010 Incompatible types: 'T' and 'procedure, untyped pointer or untyped parameter'”失败。我做错了什么,或者编译器做错了什么?

0 投票
1 回答
2344 浏览

delphi - 如何减小我的 Delphi dll 的大小?

我最近从 Delphi 7 搬到了 Delphi XE3。

Delphi 7 中 107kb 的 dll 文件现在编译为 2.7 MB。另一个 114kb 现在是 4.7 MB!

这是正常的吗?我可以做些什么来减少文件大小?如果您需要更多信息,请询问。

更新:

这两个 dll 文件已经在发布模式下编译。

听从梅森的建议后:

4.7MB 文件减少到 834kb,2.7MB 文件减少到 2.1MB。这个 2.1MB 的文件利用了泛型和一个名为 nExcel 的外部库,用于生成 Excel 文件。虽然在文件大小较小时也使用了 nExcel,但使用泛型是代码的新增功能,我猜这可能是文件大小保持相当大的原因。

0 投票
5 回答
3484 浏览

delphi - 修复 Delphi XE3 中的 VCL 样式目录

我对 Delphi IDE 中的 VCL 样式有疑问。当我在 delphi IDE 中将 VCL 样式从默认样式更改为另一种样式并运行程序时,出现“找不到样式'样式名称'”错误。我试图在 IDE 中找到一个选项来修复 Style 目录,但我找不到任何选项。请帮我解决这个问题并修复 IDE 选项。非常感谢。

0 投票
1 回答
3757 浏览

delphi - 如何在 Firemonkey XE3 中获得屏幕分辨率?

如何在 Firemonkey 2 (Delphi XE3) 中获得屏幕分辨率?

0 投票
3 回答
3174 浏览

delphi - 为什么组合框会在字体更改时将其文本更改为项目文本?

这显然是一个错误,但我无法追查为什么会发生。这是一个要重现的简约代码。只需在表单上放置一个组合框和按钮,然后编写以下事件处理程序:

当您第一次单击该按钮时,您将在组合编辑中看到第二个项目的完全选定文本,但消息框会显示项目索引等于 -1。当您下拉它时,似乎选择了第二个项目。第二次单击将设置正确的文本,但其余部分与第一次单击时相同。因此,在这种情况下,组合框的行为就像启用了一些奇怪的自动完成功能。

我已经追踪到EditWndProc字体更改后收到WM_SETTEXT带有第二项文本的消息的位置,但我不知道它来自哪里以及为什么使用第二项的文本。

所以,我的问题非常具体 - 什么(哪种方法)发送WM_SETTEXTat 字体更改以及在禁用自动完成时它如何知道第二项文本匹配?

到目前为止,我可以在安装了最新更新的 Windows 7 Home Premium 64 位上的 Delphi 2009 和 Delphi XE3 中重现这一点。

0 投票
1 回答
1439 浏览

delphi - 如何在 FM2 中从 TMediaPlayerControl 截屏?

为了执行此操作,我使用以下代码:

当此代码运行保存到文件的位图时;但它始终是黑色图像。我正在努力解决这个问题。请帮我。