33得票6回答
如何在没有帮助程序的情况下访问私有方法?

在Delphi 10 Seattle中,我可以使用以下代码绕过过于严格的可见性限制。 我如何访问私有变量?type TBase = class(TObject) private FMemberVar: integer; end; 我如何访问普通或虚拟私有方法?type ...

16得票6回答
Delphi - 在FireMonkey中正确显示消息对话框并返回模态结果

我有一个VCL应用程序,现在要转移到FireMonkey上。其中的一个问题是在FireMonkey中 MessageDlg(...) 已经过时了。经过一番调查,我了解到必须使用 FMX.DialogService.MessageDialog 方法。因此,我创建了一个函数来显示对话框:funct...

12得票2回答
为什么一个应用程序启动时的FPU控制字与Default8087CW不同?

请帮我理解在Win32平台上,Delphi应用程序中的FPU控制字是什么意思。 当我们创建一个新的VCL应用程序时,控制字被设置为1372h。这是我不明白的第一件事,为什么它不是1332h,即在System单元中定义的Default8087CW。 这两者之间的区别:1001101110010 ...

11得票2回答
[Ref]属性对于const记录参数有用吗?

在最新版本的Delphi(Berlin / 10.1 / 24)中,[Ref]属性是否真的必要? 我之所以这样问,是因为在线文档中说: 常量参数可能通过值或引用传递给函数,具体取决于使用的编译器。要强制编译器通过引用传递常量参数,可以使用const关键字与[Ref]修饰符。

11得票1回答
更新Parse安装对象会将其删除。

我使用REST API调用创建一个安装对象,就像这样:curl -X POST \ -H "X-Parse-Application-Id: ${APPLICATION_ID}" \ -H "X-Parse-REST-API-Key: ${REST_API_KEY}" \ -H "Content...

11得票1回答
Delphi中的"Supports"会增加对[weak]或[unsafe]接口的引用计数

当我在使用 Delphi Berlin 10.1 的 [weak] (和 [unsafe]) 引用时,"Supports" 函数和 "QueryInterface" 都会在给定标记有 "weak" 属性的接口变量时增加引用计数(与 "unsafe" 属性的行为相同)。program WeakR...

11得票3回答
如何在Delphi 10.1 Berlin中从一个类助手访问私有字段?

我想要使用Gabriel Corneanu的jpegex,它是一个用于jpeg.TJPEGImage的类帮助器。通过阅读这个和这个,我了解到在Delphi Seattle之后,像jpegex所做的那样不能再访问私有字段(以下示例中的FData)。如David Heffernan所建议的那样对V...

10得票1回答
嵌套泛型记录

当我尝试定义嵌套泛型记录时,遇到了一个奇怪的编译器错误。 嵌套在类和接口中是有效的,但是在记录中却不行。 type TRec<T> = record Value: T; end; TCls = class public Rec: TRec&lt...

10得票4回答
将基本数据类型Cardinal转换为Single

Cardinal和Single都是4字节/32位的数据类型,但当我将它们互相类型转换时,在Delphi 10.1(柏林版)中会出现无效的转换类型错误。lSingleVar := Single(lCardinalVar); 我不是在谈论如何在两种类型之间进行转换,因为那只会存储23位基数数据的分...

9得票1回答
Delphi 10 Seattle和10.1 Berlin无法调试COM DLL

我有一个COM DLL项目,在Delphi 2007和XE8中我能够调试它(在断点处停止)。 然而,在Delphi 10 Seattle或10.1 Berlin中,IDE似乎无法在断点处停止。 我的调试步骤如下: 1. 切换到DEBUG模式(并检查那些调试选项的勾选情况,例如调试信息)。...