44得票4回答
如何使用自定义比较器对通用列表进行排序?

我有点 Delphi 新手,不知道如何调用记录类型 TList 的 Sort 方法,以按升序整数值对记录进行排序。 我有一个如下的记录: type TMyRecord = record str1: string; str2: string; intVal: ...

44得票9回答
int* i和int *i之间的区别

我正在将一个用C语言写的DLL的头文件转换成Delphi格式,以便我可以使用这个DLL。 我的问题是什么是下列两者之间的区别:int* i 和int *i 我将第一个转换为i: PInteger; 但是我不确定在Delphi中第二种的正确转换方式。 据我理解,第一种是一个简单的类型指针。第...

44得票1回答
已发布的接口属性错误及解决方法

我编写了一组组件,这些组件通过发布的接口属性相互链接。它们在设计包中注册和安装。在 Delphi 中使用发布的接口属性并不常见,因此不出所料,似乎并不起作用。当组件位于同一窗体上时,它可以正常工作,但是在不同窗体之间的接口属性链接会导致问题。与在另一个窗体上链接到组件的对象链接不同,IDE 似...

44得票3回答
屏幕上有大量控件时,FireMonkey存在严重的性能问题

我们已经在办公室使用FireMonkey有一段时间了。一段时间后,我们发现由于GPU加速并不像Embarcadero所说那样快速,需要对其进行测试。 于是,我们构建了一个基本的应用程序来测试FireMonkey的性能。基本上,它是一个带有底部面板(alBottom)的表单,作为状态栏,并且是...

43得票2回答
Delphi的^A语法:文档化、隐含或未记录?

让我举个例子来解释。在Delphi中,你可以这样写:procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char); begin if Key = ^C then ShowMessage('The user wants t...

43得票1回答
如何创建一个类似对话框的组件,允许在其中放置其他控件?

这是一个Firemonkey组件,但我发现大部分组件基础都相同于VCL和FMX,所以如果您知道如何在VCL中实现,请分享您的知识,这可能是我的解决方案。 我使用TPopup作为祖先。这对我很方便,因为它保留在窗体/框架上,我可以使用相同的上下文/结构将其与LiveBindings连接起来,这...

43得票5回答
在WinForms输入焦点时自动弹出平板电脑触摸键盘

当我在Windows 10的平板模式下运行WinForms(或Delphi,见结尾)应用程序时,当焦点在输入框中时,触摸键盘不会自动弹出。 我认为这应该自动发生,无需任何额外的代码/设置。 为了测试,我有一个最简单的VS 2015 WinForms桌面应用程序,只有一个TextBox控...

43得票7回答
为什么我应该关心Delphi中的RTTI?

我听说 Delphi 2010 的 RTTI 功能 得到了提升,但是我必须承认我不理解它。我知道每个 Delphi 版本都支持 RTTI,我也知道 RTTI (运行时类型信息) 允许我在应用程序运行时访问类型信息。 但是这到底是什么意思?Delphi 2010 的 RTTI 支持与 .NET...

42得票10回答
确定在虚拟机中运行的时间

有没有一种官方的方法可以让应用程序确定自己是否在VMWare或Virtual PC(或者Microsoft现在称之为什么)中运行?我看到的代码通常是利用特定版本的VMWare或Virtual PC中的某些奇怪的行为副作用来实现的。 最好是Delphi代码,但如果您可以链接到官方说明,那我肯定...

42得票10回答
Delphi:如何实现应用程序的自动更新?

我一直在考虑为我的Delphi应用程序编写自己的代码,以实现平滑更新,因为我将采用“尽早发布,经常发布”的方法。目前市面上有各种免费和付费的Delphi解决方案,想问一下您是否使用过其中任何一个,或者只是采用自己的解决方案?对于自动更新主题的任何评论都欢迎。