swish

swish

QDAC项目主要开发人员

[教程]判断两个不同的接口实例是否是同一个对象

如果一个对象支持多个接口,当我们获取其支持的不同接口的实例时,就会得到不同的地址,比如:

我们假设对象 TABObject 的实例 ab,当我们写下类似于下面的代码时:

在实际运行中,A

[教程] 通过 Rtti 设置对象的事件响应函数

核心提示:调用 TValue.Make 函数来将事件的响应函数绑定。 示例:我们拿 TTimer 来做例子,我们知道它有一个 OnTimer 事件,但我们又不想引用 TTimer 所在的单元,而我们要修改某个实例的 OnTimer 事件响应函数(感觉好绕是吧?因为只是拿来做例子,反正看不懂就当一切在做梦,什么也没发生就

[日积月累]-2018-6-24:早期 Delphi 版本 Base64 解码需要注意的一点小问题

早期的 Delphi DecodeBase64 对于不是正常以 = 号结束的 Base64 编码内容进行解码时,结尾会解出乱码,造成程序运行时出问题,要解决这一问题,应对其进行补位,加上一定数量的 “=”,以解决此问题。需要补位的 “=” 个数的计算公式: n=( mod 4) n=0 :不需要补位 n>0:补

[日积月累]-20180623:W1037 FOR-Loop variable ‘Result’ may be undefined after loop

【译】 W1037 FOR 循环变量 Result 可能在循环后失去定义 【问题原因】 Result 被用在循环的初始值或结束值时会引发此警告:

就个人来看,用做循环的结束值是没有问题的,但下面的用法就有问题了: [crayon-5c9850f2d81b

[教程]为 Delphi 剪贴板加入 CF_HTML 数据支持

嗯,直接上代码,需要引用  QDAC 的 QString 单元,不支持太老版本的 Delphi,使用古董版的 Delphi 的请自己改写下:

用法是直接操作 Clipboard.AsHtml 属性就可以了,例如: [crayon-5c9850f2d83d

[日积月累]-20180622:前向声明关键字 forward

【格式】 函数声明;forward; 【用途】 forward 关键字用于前向声明一个局部函数,比如:

声明了一个 Calculate 函数,那么后面必需重新声明并实现这个函数,类似于下面: [crayon-5c9850f2d85cb633832518/

[日积月累]-20180621:[Warning] W1000 Symbol ‘%1’ is deprecated: ‘Use %2’

【译】 [警告] W1000 符号 ‘%1′ 已经被废弃:’请使用 %2’ 【问题原因】 当前版的 Delphi 已经不再使用名为 %1 的函数/变量/常量,目前的代码仍可以正常运行,但最好改成使用 %2 的替代函数/变量/常量。官方的意思是相应的符号将在后续的某个版本中

[教程]QDAC FMX VirtualTreeView 入门教程

实际上,本不想造车,可官方的车太破,而 Jam software (原Softgem)的 VirtualTreeView(后面称老VT吧) 又不知道 FMX 版要等到什么时候,本着求人不如求己的基本原则,编写了这个组件。不过,感谢的话是必需说的,这个组件的核心思想实际上与老VT的基本一致。不过我没有照扒别人东西的习惯,

[杂谈]编写 Delphi 组件时的一些小问题总结

1、要想让自己的对象属性能够自动被 IDE 保存,那么这个对象应该是 TPersistent 类型的子类,否则,设计期能够见到,但保存时不会自动保存。除非你自己重载 DefineProperties 函数。 2、如果你在控件上添加了一个辅助控件,而不想被保存到 DFM 里,你需要重载 GetChildren 来自己实现

[教程]DateTimeFromString 函数的使用说明

DateTimeFromString 用于将一个日期时间格式的字符串表达式转换为日期时间类型,用于替代 Delphi 自己的 StrToDate 函数(弱弱的一个函数,我一直忽略它的存在)。 在绝大部分场景下,DateTimeFromString 可以正确识别多咱格式的日期时间字符串,但并不代表它的自动识别智能到可以理

[控件]TRadarChart – Delphi 原生的雷达图控件

【关于价格】 人民币:50 元,至于其它国家的货币,与我无关,我只收人民币,汇率啥的自己换算 本来打算免费的,不过想想也不能总免费,用的人不多的就象征性的收个费吧。 【关于平台】 这个是 Delphi 原生的控件,同时支持 VCL 和FMX。 【关于 IDE 版本】 好吧,我承认我现在没太多时间折腾不同的平台,理论上支

[QDB]TQHttpProvider 通讯协议说明

TQHttpProvider 服务器端使用任何语言编写都可以,但需要其支持 HTTP/HTTPS 协议。 要使用 TQHttpProvider,您需要设置 TQHttpProvider 的以下属性: ServiceUrl:该 URL 会被用做对服务器端请求的基准地址来使用,下面是对应的子URL: (1)、Open:该命

[QString]FindSwitchValue 函数使用说明

【用途】 此函数用于将命令行开关分隔为一个名称-值对,并取出其中值。 【声明】

【参数说明】 ASwitch : 要查找的开关 ANameValueSperator : 开关和名称的值的分隔符 AIgnoreCase : 是否忽略大小写 ASwitchC

[杂谈]Rad Studio 2018年2月份热修复的变动说明(含 2004 修正)

下述文件对比含 2004 版修正,加粗的为本次热修复变动的文件 1、Winapi.WinSock2 * inet_pton 函数改为延迟加载。这个函数是 Vista 开始支持的,如果不延迟加载(实际上相当于在 XP 上就不会加载),在 XP 上无法导入这个函数,程序就会出错。 2、System.Sysutils.pas

[教程] Delphi 中的自动引用计数使用规则

Delphi 用户应该早已经熟悉自动引用计数的概念(ARC),Delphi  很早就开始支持接口、动态数组和字符串的自动引用计数(DCC32、DCC64、DCCOSX),移动编译器则加入对类的自动引用计数支持,因此还加了入弱引用的概念,以管理循环引用。有个预编译条件指令 AUTOREFCOUNT 可以检测当前是否编译器

[FMX] FMX 动画类的一个辅助增强

本增强的目的是解决动画对象只支持 published 的有效的几种属性的问题,确切的说,这是一个适配器,通过匿名函数建立与非 published 属性的适配。我在 [FMX] Delphi 中 TAnimation 设计的几点值得商榷的地方 一文中讨论了 FMX 动画支持类的一些值得商榷的地方和改动,而这个增强从另一个