8得票1回答
使用Delphi 2006有条件地更改应用程序图标

我希望制作两个不同版本的应用程序,根据定义使用不同的图标。 我已经成功地包含了基于定义的不同资源文件,但是我无法摆脱我的项目默认.res文件中的MAINICON。 我添加了一个资源Version1.rc文件,并加入以下内容: MAINICON icon "resource\icons\Ve...

9得票2回答
Delphi - 在运行时创建的TXMLDocument生成AV,而表单上的组件正在工作

我正在运行时创建一个 TXMLDocument 实例,用于加载和解析 XML 文件。您可以检查下面的代码: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics,...

10得票8回答
如何根据内容自动调整/缩放DBGrid(或其他类似)的列宽?

我正在尝试制作一个带有DBGrid的框架,可用于超过10个表格,其中一半字段是默认值,另一半字段是每个表格独有的。 由于列的空间有限,我不想手动配置每个表格的每一列,因为这是非常低质量的工作,所以我在想办法通过该列内最大行的内容计算每列的宽度,由组件本身或数据集进行测量。 有人知道吗?世界...

7得票2回答
为什么{$ifopt FINITEFLOAT ON}不能编译?

我有这个构造: {$ifopt FINITEFLOAT ON} {$message 'FINITEFLOAT option ON' } {$else } {$message 'FINITEFLOAT option OFF' } {$endif } 我在我的源代码中发现了错误,但它...

27得票11回答
Delphi代码格式化器

有没有任何工具可以重新格式化Delphi代码? 编辑 我正在使用Delphi 2006。 一些反馈 感谢所有回答这个问题的人。 我一直在使用JCF代码格式化程序 - 它运行良好,我的代码已经按照Object Pascal Style Guide进行了格式化。

8得票1回答
有时候Delphi似乎是区分大小写的 - "重载方法应该与祖先的大小写匹配"

今天我遇到了一个“奇怪”的提示: 覆盖的 xxxx 方法应该与祖先 yyyy 的情况相匹配。 解决方案是将方法名称声明为与祖先完全相同。我相信这是自Delphi.Net编译器以来一直存在的问题。 将方法名称声明为与祖先完全相同,可以使编译器“无声”。Delphi 2006及更高版本中...

8得票4回答
Delphi - 如何找出当前有焦点的模态对话框并将其置于前台?

我有一个 Delphi 2006 应用程序,可以在错误条件下弹出模态对话框。但它似乎陷入一种状态,其中一个这些模态对话框打开并位于主表单前面,但两个表单都不响应消息。单击任何一个会出现“咚”的声音。应用程序正常运行,UI 正在更新主表单,但您无法执行任何操作。我猜主表单下面可能还有另一个模态对...

9得票3回答
如何使用Indy 10和OpenSSL通过HTTPS下载文件?

我有以下任务:使用HTTPS和身份验证下载文件。Indy似乎是最好的选择,但由于某些原因,到目前为止它还没有起作用。我已经做了以下准备: 一个TIdHTTP组件,用于下载 一个TIdURI组件用于创建URL 一个TIdSSLIOHandlerSocketOpenSSL组件,应该提供安全连接...

12得票3回答
Delphi - 当用户点击模态对话框外部时如何生成事件?

当用户点击模态对话框外部时,是否可以触发事件? 好的,Windows 提供了一些提示,例如制造“咚”的声音或闪烁应用程序的任务栏按钮,但是在没有声音和/或用户无法理解任务栏闪烁原因的情况下,我想提供某种额外的提示。此外,如果模态对话框被隐藏在主窗体后面,我还想尝试使用这种方式将其放到最前面。

8得票4回答
如何从我的软件中所有打开的表单中获取列表?

在终止我的应用程序之前,我希望要求用户关闭所有已打开的表单。 如何自动获取已打开表单的列表? 我正在使用Delphi 2006,并且没有使用表单的自动创建,但是我正在使用使用Application.CreateForm和自动创建的表单的引用变量。 致敬。