14得票2回答
如何为相互依赖的记录定义隐式转换运算符?

我在Delphi 2006中使用记录类型的运算符重载。(请不要告诉我不要这样做) 我有两个记录类型,都重载了隐式运算符。它们只存在于模块的实现部分,没有通过接口暴露出来。 我的问题是,现在它们相互依赖,我不知道如何向编译器前置声明第二种类型。我知道如何对函数、过程和类进行前置声明,但不知道...

14得票2回答
Delphi中的三值逻辑

如何在Delphi中最佳实现三值逻辑? 我正在考虑type TExtBoolean = (ebTrue, ebFalse, ebUnknown); 使用function ExtOr(A: TExtBoolean; B: TExtBoolean): TExtBoolean; begin ...

12得票2回答
Delphi应用程序托盘图标上的气球提示不断弹出

我有一个Delphi 2006应用程序,可以最小化到系统托盘图标,并通过托盘图标上的气球提示显示各种警报消息。 在某些情况下(我不知道什么时候),以前显示过的气球提示会持续弹出,而且无法消失。它会按编程长度显示,然后关闭,接着立即重新出现。 这总是来自该应用程序的气球提示。 如果应用程序...

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

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

11得票3回答
什么是在线程中“浪费时间”的最高效CPU方式?

我有许多线程(数百个),每个线程每次执行几秒钟。 当它们正在执行时,它们花费大量时间等待来自另一个系统(串行设备)的响应。 我注意到同时执行100个线程可能是资源消耗过大,所以我实际上限制了可以同时启动的线程数。 我想到了在线程内等待外部事件的好方法和坏方法。这种方法会占用CPU吗?send ...

11得票1回答
如何制作带有圆角的TFrame?

我希望基于TFrame制作一个组件,该组件包含TLMDShapeControl(用于绘制圆角背景)和一个TEdit控件(也可以是TComboBox或TDBEdit等)。之后,我将使用“添加到工具箱”命令将其转换为可重复使用的组件控件。 问题在于,我需要它具有宽度灵活性,为此我想到了将Fram...

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

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

10得票4回答
在Delphi中查找“非泄漏”内存使用问题的策略或工具是什么?

在服务器更新后,一个旧应用程序开始大量消耗内存。内存使用似乎会无限上升,直到程序挂起。 根据FastMM4和EurekaLog的分析,除了28字节外,没有内存泄漏,因此我假设在应用程序关闭时所有内存都被释放。 有没有适合跟踪这种内存问题的工具或策略?

10得票6回答
Delphi中从TList的开头删除大块项目的有效方法是什么?

从TList中删除(0)的成本较高,因为所有后续项都需要向下移动。如果我需要从一个更大的列表的开头删除大量项目,最快的方法是什么? (注:TList是Delphi编程语言中用于存储对象的类。)

9得票4回答
如何在Delphi 2006项目中进行全局搜索和替换

救命啊!!! 我刚刚花了大约10分钟的时间寻找在Delphi 2006项目中进行搜索和替换所有文件的方法。 请问您如何操作?