【问题描述】 1、创建一个子窗体,上面放一个按钮,然后你在主窗体上放一个按钮,随便写点响应代码,然后调用子窗体的Show方法,将子窗体Show出来。编译为 Windows 32 位程序,你会发现那个按钮,需要点两下才能反应。 2、继续上面的问题,你如果将子窗体设置 BorderStyle 设置 None。然后编译为 A
月度归档: 2015 年 11 月
[FMX] 使用 TTextLayout 来加快批量文本绘制
实际上,我们在绘制大量文本时,如果调用 TCanvas.FillText,会重复的创建和翻译 TTextLayoutManager 对象,影响绘制效率。所以,如果你要在 FMX 应用中大量绘制文本时,应该尽量将 TTextLayoutManager 独立出来,用它来绘制,而不是用 FillText,我实际做了下测试,同
[QWorker]更新:修正了新增的 WaitJob 函数在2007无法编译的问题
【问题描述】 新增的WaitJob函数由于条件编译选项位置错误,造成无法编译。 【更新级别】 推荐 【严重程度】 低 【特别感谢】 麦子仲肥
[QString] 修正了PosW 中 AStartPos 参数未正确生效的问题
【问题描述】 PosW 的一个重载中,AStartPos 没有生效,另一个实现中,AStartPos 没有在最终的结果中生效。 【严重程度】 中 【更新级别】 推荐 【特别感谢】 阿木
[QString] 修正了MemScan 函数可能存在的一处死循环
【问题描述】 MemScan函数由于忘记减少len_s的值,造成在特定情况会发生死循环。 【严重程度】 高 【更新级别】 推荐 【特别感谢】 TTT
[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 倍左右。 【更新级别】 可选
[数据库] 取指定表中某字段的累加和不超过总和80%的行
有表 Table_1, 字段 Value int, P float 。5 要取出以 Value 字段倒序的 P 字段累加和 不超过 整个表中P字段总和的 80%的行。 并在返回列表中 加入字段 SUM ,存放当前行与前面所有行的累加和。 折腾了半天, 写了下面的查询sql: declare @e float sel
【随笔】什么是函数?
在数学中,函数通常用式子 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表中,以前用循环插入 或是用数据库本身的导入导出,比较耗时,操作麻烦。 【原始做法】 循环插入 AdoQueryM.sql.text:=’select *
[QDB] 使用 TQConverter 直接将数据流从一种格式转换为另一种格式
TQConverter 新增了SaveToConverter / LoadFromConverter 方法来简化数据流格式的转换,支持从流中和文件中转换数据格式后保存到另一个流或文件中。 下面的示例代码演示了: 将当前 FDataSet 数据集的内容使用 TQBinaryConverter 来保存到 ASourceSt
[数据库] SQL Server 2005 以后数据库修改系统表的步骤
1、停止SQL Server 服务; 2、通过命令行启动SQL Server 进入单用户模式(将其中的 SQL Server 目录替换为你实际的 SQL Server 安装目录): “SQL Server 目录\Binn\sqlservr.exe” -m 在上面刷刷显示的一通日志里,找到下面的行: 2015-11-11
[QString] 新增简繁体转换和货币金额中文大写支持函数
不多说,直接上函数声明: /// <summary>简体中文转换为繁体中文</summary> /// <param name=”S”>要转换的字符串</param> /// <returns>返回转换后的结果</returns> function
[教程] QLang 快速入门指南:多语言支持的高级功能
虽然,说是高级编程,但实际上依然没有多少需要你自己做的事情。在前言部分,我们说过,QLang 支持资源字符串、常量和组件的非空字符串属性的翻译支持。至于资源字符串怎么加入的问题,咱在这里不再缀述,参考 Delphi/C++ Builder 帮助中关于 resource strings 的说明。 【常量字符串】 现在我们
[教程] QLang 快速入门指南:为程序添加多语言支持
QLang 的目标是尽量简化用户的编程,所以要让你的程序支持多语言,我们也尽量简化您所需要进行的操作。 由于 QLang 支持 Delphi 和 C++ Builder,所以我们分开来说(实际上两者真的差不多)。 【Delphi】 打开工程选项菜单,在工程的搜索目录中,加入 QLang 的搜索目录。 在你程序的任意一个
[杂谈]转发一个DIOCP群老菜鸟绘制的网络数据传输模型(Select/IOCP模型)
感谢老菜鸟
[教程] QLang 快速入门指南:前言
QLang 是一个 Delphi / C++ Builder 下的多语言编程的支持组件,目的是方便您将自己的程序走出国门,面向国际用户提供优质的软件产品时,不需要为程序适应不同的语言而大费脑筋。 在使用 QLang 之前,您需要知道: 它支持 Delphi / C++ Builder 2007 以后的版本的开发工具;
[杂谈]内存泄露的前生今世
1、什么是内存泄露,内存泄露有什么危害? 内存泄露是指程序中申请了内存使用后,没有正确释放(如 new[] 分配的内存,用 delete 释放)或者根本就忘了释放,从而在程序运行过程中一直占用着内存空间的问题。 内存泄露本身没什么特别大的危害(鬼才信~~~),唯一的问题是:这块内存区域被占着地方不放,没法拿来干别的用了
[杂谈] 在 Delphi/C++ Builder 中创建无限循环的 GIF 动画
首先是看代码: var AGif: TGifImage; ABitmap: TBitmap; i: Integer; ALoopExt:TGIFAppExtNSLoop; begin AGif := TGifImage.Create; AGif.SetSize(100, 100); ABitmap := TBitmap