22得票1回答
在Delphi 64位中,StrToFloat不能报告无效的浮点数。

以下代码尝试将一个超出双精度范围的值进行转换StrToFloat('1e99999999') 在Delphi 10.2r3中,使用Windows 32位编译器正确地报告了不正确的浮点值,但是当使用Window 64位编译器编译时,它会悄悄地返回0(零)。 是否有办法让StrToFloat在浮...

18得票2回答
Delphi的TQueue存在问题吗?使用TQueue<Tbytes>时进行出队操作返回nil。

我不明白为什么这段非常简单的代码会失败?我使用的是Delphi Tokyo第2版。{$APPTYPE CONSOLE} uses System.SysUtils, System.Generics.Collections; procedure Main; var aQueue: ...

16得票1回答
为什么异常没有被try...except块捕获?

我有这段代码(在Delphi Tokyo下运行的iOS代码):procedure TMainForm.Button1Click(Sender: TObject); var aData: NSData; begin try try aData :=...

13得票1回答
H2077在try finally块中使用goto - 这是东京编译器的缺陷吗?

升级到10.2东京后,第三方组件之一开始抛出大量异常。 调试显示有问题的代码部分,可以用以下(希望)最小化的代码表示:function foo(i: Integer): Boolean; label bar; begin try if i=1 then goto bar; Resu...

13得票2回答
Delphi - 用10.2.1重新编译应用程序会导致内存泄漏?

我刚安装了Delphi 10.2 Release 1。当我重新编译我的应用程序并运行它们时,我发现有很多内存泄漏。在没有更新的情况下,我的10.2版本没有内存泄漏。我也没有更改代码。 为了验证,我创建了一个简单的空白应用程序并在窗体上放置了几个组件。没有代码。运行应用程序并报告了内存泄漏。 ...

11得票1回答
Delphi 10.3 Rio减少了支持的Android设备数量吗?

我的Delphi 10.2.3应用程序使用这个答案中的修复方法提交到了Google Play: Delphi Android app API level 26? Google Play报告说,这个版本支持超过400个设备。 同一个项目使用10.3 Rio构建后提交,但是Google Play...

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

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

10得票1回答
Delphi接口不进行引用计数

在阅读《Expert Delphi》一书时,我发现了一些我无法理解的内容。作者创建了一个带有以下代码的单元: IToDoData = interface //CRUD function ToDoCreate(aValue: TToDo): integer; function...

9得票2回答
如何比较枚举类型的集合

从某个时候开始,我厌倦了编写条件语句(and、or),因为对于更多的条件或更长的变量名,一遍又一遍地编写会变得笨拙和烦人。所以我开始编写帮助程序,这样我就可以编写 ASet.ContainsOne([ceValue1, ceValue2]) 而不是 (ceValue1 in ASet) or ...

9得票1回答
Firemonkey Android运行时权限要求读取电话状态并获取IMEI号

如何在运行时获取read_phone_state权限以获取IMEI号码? if not HasPermission('android.permission.READ_PHONE_STATE') then begin //ASK AND GET PERMISSION...