[杂谈]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 动画支持类的一些值得商榷的地方和改动,而这个增强从另一个

[教程]以管理员身份运行程序的一种方法

以管理员运行程序的方法有很多种,包含在 manifest 文件中请求权限,兼容性设置及下面说的 runas。 runas 算是一种比较另类的方法,它是通过重新启动程序以管理员方式运行的方式来让新的进程以管理员方式运行,然后退出当前进程,以达到以管理员身份运行的目的。 要执行这个操作实际上很简单,用众所周知的 Shell

[教程]关于 10.2.2.2004 中 FMX 下的 MediaPlayer 的一点事

试了下 MediaPlayer,就发现的问题简单的报告一下: 1、DuringTime 属性的精度在不同平台下并不统一,帮助文件中说是精度为100 纳秒,但实际上在 Android 上的精度为毫秒,在 Windows/OSX/iOS 才是 100 纳秒,所以计算当前已播放时间和媒体时长时,要注意要处理一下; 关于这个问

[杂谈]系统对话框(如浏览目录)被隐藏到主窗体后面造成程序无法操作的临时处理方式

说实在话,我被这个问题困扰不知道多少年了,具体的原因我实际上到现在为止仍未找到。不过这里提供一个临时的解决办法,使用定时器来检查当前进程的活动窗口与 Screen.ActiveForm 是否一致,如果不一致,则检查 Screen.ActiveForm 是否被禁用了(注意不要看它的 Enabled,而是调用 API),如

[杂谈] 一个关于 as 的小测试

代码如下:

好吧,我们已经知道 ASender 肯定是一个 TButton 类型的对象,然后循环了 1 亿次,以便放大问题。我们看下输出结果: as time:578ms direct time:219ms 也就是说,用 as 转换花费的时间,要比直接强

[更新]RAD Studio 非官方补丁(部分)

下载地址:GitHub 【注意】 1、补丁仅供参考,最终如何修复是官方的事,我的事是提供一种可行的解决方案。 2、品质没保证,补丁也可能有Bug,如果发现问题可以一起改进。 3、我只能提供我修正的补丁,其它人修正的补丁,如果愿意可以一起放进去,但需要您同意遵守 MIT 授权协议 【使用方式】 FMX Fixes 已经根

[FMX] QDAC 新增 FMX VirtualTreeView 实现

好吧,我本来不想在 QDAC 里添加 UI 相关的东西,不过 FMX 的树实在让人不爽,等 VirtualTreeView 的 FMX 版也等不到,FMX 的闭源实现到是有一些,但根据群友的反馈,也就那样吧。所以狠狠心,咬咬牙,花了近一周的时间,自己写了一个,命名为 TQVirtualTreeView,自己测试的结果,

[FMX]在 QPlugins 中 VCL 宿主使用 FMX DLL 需要手动处理的问题说明

由于众所周知的原因,FMX 的 DLL 在 FreeLibrary 时,会出现 AV 异常,这实际上包含了两方面的原因:  FreeLibrary 时,未正确清理内部的计时器,造成 FreeLibrary 后,内部的计时器到指定的时间点后仍然运行,结果就出现了 AV 错误。  GDI+ 初始化和清理只能在宿主程序中执行

[QSecurity]QSecurity 使用入门指南

QSecurity 是 QPlugins 的安全相关插件接口及其实现, qplugins_security.pas 定义了安全相关的接口,我们在插件中使用时,只需要引用这个接口文件就可以了。而服务的实现单元并不包含在免费开源的范围内,如果您不想自己实现,或者想参考实现,需要付费购买,价格为人民币 99.00 元。 无论