8得票2回答
TMemo在处理大量行时速度非常慢

我有一个TMemo里面有100000行。我想要做以下操作: for i:= 0 to Memo.Lines.Count-1 do Memo.Lines[i]:= SomeTrim(Memo.Lines[i]); 但速度只有每秒0.5行!! 添加BeginUpdate/EndUpd...

8得票1回答
使用TScaledLayout和自定义样式的绘图问题

当我将TScaledLayout和从位图样式设计器创建的自定义样式组合时,我遇到了绘图问题。 为了演示,我加载了由选择“为VCL / FMX新建样式” -> “另存为.style”在位图样式设计器中创建的默认自定义样式。我将几个标准控件放置在一些彩色矩形上:红色和绿色的控件放在TSca...

8得票3回答
创建一个透明的自定义位图画笔

问题定义 我试图创建一个带有透明度的自定义位图画刷,但似乎没有按预期工作。如果您查看此示例,请添加代码并连接绘画、创建和销毁事件。 type TForm3 = class(TForm) procedure FormDestroy(Sender: TObject); pr...

7得票2回答
允许用户从密码字段复制文本

在我的应用程序中,有一个TEdit,其中PasswordChar = '*'。 当用户按下Ctrl + C时,会出现一个提示。 翻译: 不允许 您不能从密码字段复制文本。 显然,下拉菜单中的复制选项已被禁用。 有没有一种方法可以启用密码编辑器的复制操作?

7得票1回答
Opt.out是什么意思?

看着调用堆栈我刚刚注意到这个: 注意顶部的Opt.out。 只是好奇,Opt.out是什么意思? 这是我正在跟踪的片段: function BinaryEquals(Left, Right: pointer; Size: integer): boolean; .... {$IFDE...

7得票1回答
如何使用新线程库中的TTask.WaitForAny?

为了尝试在Delphi中使用线程库并行计算任务,并使用TTask.WaitForAny()获取第一个计算结果,有时会发生异常导致执行停止。 异常时的调用堆栈: 在$752D2F71处出现首次机会异常。异常类EMonitorLockException,消息为“Object lock not...

7得票2回答
如何修复 TSparseArray<T>?

由于 System.Generics.Collections.TArray.Copy&lt;T&gt; 存在未修复的 bug(依赖于已报告的 System.CopyArray 的 bug),在使用线程库时可能会导致异常抛出。 异常是在方法 System.Threading.TSparseAr...

7得票2回答
iOS升级到XE7 Update 1后,使用带有OpenSSL的THTTPGet发生访问冲突

在升级到 Delphi XE7 update 1 后,当使用 TIdHTTP 和 TIdSSLIOHandlerSocketOpenSSL 连接服务器时,我遇到了以下错误: --------------------------- Debugger Exception Notification...

7得票1回答
当使用RTTI时,我们如何获取和设置更深层次的子属性?

概述 我知道之前已经有类似的问题被问过: 使用RTTI获取/设置子属性 使用RTTI获取Delphi组件的子属性 如何使用RTTI设置嵌套属性的值 如何通过RTTI为类似TStringGrid.Cells这样的复杂对象设置/获取属性值? 然而,我对于如何使用RTTI满足我的需求还没有...

7得票2回答
如何将以空字符结尾的字符串转换为字符串?

我希望将一些数据记录存储到磁盘中。为了能够快速计算并跳转到某个记录,我希望每个数据记录的大小相等。 因此,我将记录中唯一的字符串存储为字符数组: type TFileNameIO = array[1..512] of Char; 我从磁盘上读取字符串后,我的字符串内容如下: c:\w...