52得票3回答
Delphi:什么是Application.Handle?

TApplication.Handle 是什么? 它从哪里来? 它为什么存在? 最重要的是:为什么所有的窗体都将其作为父窗口句柄? Delphi 帮助文件中说: TApplication.Handle Provides access to the window handle of ...

41得票4回答
Delphi: 理解构造函数

我想要了解以下关键词在对象构造函数中的应用:虚拟覆盖重载重新引入每次我都是随机添加关键词,直到编译器不报错。作为一名使用Delphi开发12年的开发者,我更想知道自己在做什么,而不是随意尝试。给定一组假设的对象: TComputer = class(TObject) public c...

36得票5回答
wsMaximized窗体未最大化显示

将一个窗体的WindowState属性设置为wsMaximized有时会导致该窗体不能最大化,而出现下面的情况: 长期存在的问题:这是我在2003年首次在Borland新闻组中提出的问题: 解决WindowState = wsMaximized的方法? 然后在2006年再次提出:...

22得票7回答
Delphi:所有常量都是常量,但有些比其他常量更加常量?

考虑:const clHotlight: TColor = $00FF9933; clLink = clHotLight; //alias of clHotlight [Error] file.pas: Constant expression expected 以及可行的替代措...

22得票8回答
根据任意格式将字符串转换为TDateTime

在Delphi 5中,有没有一种方法可以将字符串转换为TDateTime并指定实际要使用的格式? 我正在开发一个作业处理程序,该程序接受来自各个工作站的任务。这些任务具有各种参数,其中一些是日期,但(不幸的是,并且超出了我的控制范围)它们传递为字符串。由于作业可能来自不同的工作站,用于将日期格...

18得票2回答
调用Trunc()时出现无效的浮点运算

当我尝试对一个Real值执行Trunc()操作时,我会收到一个可重复的浮点异常。 例如: Trunc(1470724508.0318); 实际上,实际的代码更加复杂: ns: Real; v: Int64; ns := ((HighPerformanceTickCount*1...

17得票1回答
我的32位应用程序会执行什么操作会消耗几个G的物理内存?

一位同事几个月前向我提到,我们内部使用的 Delphi 应用程序似乎占用了 8GB 的 RAM。我告诉他: “这不可能。” 32 位应用程序只有 32 位虚拟地址空间。即使存在内存泄漏,它所消耗的内存最多也只能是2 GB。此后分配将失败(因为在虚拟地址空间中没有空闲空间)。而在发生内存泄漏...

15得票3回答
在运行时按需更改组件类

我的问题类似于这个想法:在 Delphi 中替换组件类。 但是我需要根据需要更改 特定的 组件类。 这里是一些伪代码示例:unit Unit1; TForm1 = class(TForm) ImageList1: TImageList; ImageList2: TImageList;...

15得票2回答
如何将浮点数或货币转换为本地化字符串?

在Delphi中,使用FloatToStrF或CurrToStrF会自动使用DecimalSeparator字符来表示小数点。不幸的是,DecimalSeparator在SysUtils中声明为Char1,2: var DecimalSeparator: Char; 虽然LOCAL...

12得票6回答
Delphi: 如何隐藏祖先构造函数?

更新:用一个更简单的例子修改了问题,原来被接受的答案无法回答这个问题。 给定以下类及其祖先: TComputer = class(TObject) public constructor Create(Teapot: string=''); end; TCellPhone = c...