[FMX]好吧,又抓到 FireMonkey 的两个 Bug

【问题描述】 1、创建一个子窗体,上面放一个按钮,然后你在主窗体上放一个按钮,随便写点响应代码,然后调用子窗体的Show方法,将子窗体Show出来。编译为 Windows 32 位程序,你会发现那个按钮,需要点两下才能反应。 2、继续上面的问题,你如果将子窗体设置 BorderStyle 设置 None。然后编译为 A

[FMX] 使用 TTextLayout 来加快批量文本绘制

实际上,我们在绘制大量文本时,如果调用 TCanvas.FillText,会重复的创建和翻译 TTextLayoutManager 对象,影响绘制效率。所以,如果你要在 FMX 应用中大量绘制文本时,应该尽量将 TTextLayoutManager 独立出来,用它来绘制,而不是用 FillText,我实际做了下测试,同

[QDB] 修正过滤时表达式清理时内存泄露和CopyFrom对Blob字段的支持问题

【问题描述】 1、过滤表达式清理时,未清理 FValue 的值,造成内存泄露; 2、CopyFrom 的源是一个普通的数据集对象(非 TQDataSet 实例),如果源存在Blob字段,会抛出异常 【严重程度】 高 【更新级别】 推荐 【特别感谢】 阿木、幽灵

[杂谈] RAD Studio X Update 1 官方发布了

点击从官方下载 点击查看修复的问题列表 此次是Idera收购后的首次更新,共修复了70多个Bug,大概分类下: 【编译器部分】 共修复了 19 个Bug,其中 C++ 15 个, Delphi 3 个,IDE 1 个。也许 CX 终于可用了,等待大家的测试结果,CX 原来基本上不可用。 【组件】 数据组件 8 个,Fi

[QLang]优化了QLang中资源字符串替换的效率

【更新说明】 新算法修改了资源字符串翻译的获取顺序,改为先尝试从翻译中查找,如果找不到才加载默认的字符串并查找翻译,然后将找到的翻译缓存,以加速下次加载,从而提高翻译的效率。实际测试比原先的效率提高 4.5 倍左右。 【更新级别】 可选  

【随笔】什么是函数?

在数学中,函数通常用式子 y=f(x) 来表示。f 是英语单词 function中的f , 是“功能”或者“作用”的意思。 说白了就是使用f给x施加某种规则或关系,进而推导出y。 函数可以用来表示“因果”,表示“变化”规则。 比如把 x 当作母鸡,f(x)可能出来的就是小鸡鸡了。当然了,不同的f会有不同的结果,说不定结

[QDB] 幽灵分享:QDataSet+TQMSSQLConverter 实战技巧

【注】本文由网友 幽灵 分享,由 swish 整理并重新编辑。 1、将A数据库A表的部分数据导入 B数据库B表中 【应用场景】 经常需要将A表的部分数据导入到B库的A表中,以前用循环插入 或是用数据库本身的导入导出,比较耗时,操作麻烦。 【原始做法】 循环插入 [crayon-58d9e39861f1426374619

[QDB] 使用 TQConverter 直接将数据流从一种格式转换为另一种格式

TQConverter 新增了SaveToConverter / LoadFromConverter 方法来简化数据流格式的转换,支持从流中和文件中转换数据格式后保存到另一个流或文件中。 下面的示例代码演示了: 将当前 FDataSet 数据集的内容使用 TQBinaryConverter 来保存到 ASourceSt

[数据库] SQL Server 2005 以后数据库修改系统表的步骤

1、停止SQL Server 服务; 2、通过命令行启动SQL Server 进入单用户模式(将其中的 SQL Server 目录替换为你实际的 SQL Server 安装目录):

在上面刷刷显示的一通日志里,找到下面的行: 2015-11-11 09:

[QString] 新增简繁体转换和货币金额中文大写支持函数

不多说,直接上函数声明:

货币大写转换的函数效果测试的示例如下:

这个示例程序位于 Demos\Delphi\VCL\CapMoney 目录下。

[教程] QLang 快速入门指南:多语言支持的高级功能

虽然,说是高级编程,但实际上依然没有多少需要你自己做的事情。在前言部分,我们说过,QLang 支持资源字符串、常量和组件的非空字符串属性的翻译支持。至于资源字符串怎么加入的问题,咱在这里不再缀述,参考 Delphi/C++ Builder 帮助中关于 resource strings 的说明。 【常量字符串】 现在我们

[教程] QLang 快速入门指南:为程序添加多语言支持

QLang 的目标是尽量简化用户的编程,所以要让你的程序支持多语言,我们也尽量简化您所需要进行的操作。 由于 QLang 支持 Delphi 和 C++ Builder,所以我们分开来说(实际上两者真的差不多)。 【Delphi】 打开工程选项菜单,在工程的搜索目录中,加入 QLang 的搜索目录。 在你程序的任意一个

[教程] QLang 快速入门指南:前言

QLang 是一个 Delphi / C++ Builder 下的多语言编程的支持组件,目的是方便您将自己的程序走出国门,面向国际用户提供优质的软件产品时,不需要为程序适应不同的语言而大费脑筋。 在使用 QLang 之前,您需要知道: 它支持 Delphi / C++ Builder 2007 以后的版本的开发工具;

[杂谈]内存泄露的前生今世

1、什么是内存泄露,内存泄露有什么危害? 内存泄露是指程序中申请了内存使用后,没有正确释放(如 new[] 分配的内存,用 delete 释放)或者根本就忘了释放,从而在程序运行过程中一直占用着内存空间的问题。 内存泄露本身没什么特别大的危害(鬼才信~~~),唯一的问题是:这块内存区域被占着地方不放,没法拿来干别的用了

[杂谈] 在 Delphi/C++ Builder 中创建无限循环的 GIF 动画

首先是看代码:

这段代码实现的是绘制了一个从右到左的,从 9 变到 0 的小动画,动画每帧间隔为 100ms,我们用一个 TImage 的实例 Image1 来显示。 这里,有一个关键的地方,是为动画添加 TGIFAppExtNSLoop 扩展,如果不设