[QWorker] 更新:增加信号的顺序触发并修正 Delay 函数存在的问题

【更新说明】 1、QWorker 的信号作业原来是触发时立即就会调度后台线程执行,这样存在的问题就是后触发的信号可能被先执行。而有些场景下,我们需要它们按照触发的顺序执行,所以 QWorker 对信号的触发这块做了一些额外的处理: 增加了一个 SignalQueue 属性,来管理信号触发队列,队列的默认大小为 4096

[QLog] 更新:新增 CalcPerf 函数来统计一个函数的执行时长

【更新说明】 1、新增的 CalcPerf 函数可以用来统计一个函数的执行时间,只需要在函数的开始位置调用它就可以了。您需要为它指定一个字符串标签(Tag),以便在日志中区分不同的函数调用。示例代码如下:

实际输出日志内容如下: [16:30:46.68

[QString] 新增 UrlMerge 函数说明

QString 新增了一个 UrlMerge 函数用来替代Delphi自身 System.Net.UrlClient 单元提供的 TURI.PathRelativeToAbs 函数。为啥要替换它?理由只有一个:它的解析支持有点小问题,所以自己重写一个。 URL 相对路径转换为绝对路径有几种情况: 相对路径实际上是一个带

【付费教程】Delphi 下基于 QWorker 的多线程编程之三:实战

【价格】 以人民币计价: 个人用户:50元 企业用户:300元   【视频长度】 ≥ 51 分钟 【视频语言】 中文,普通话 【视频编码】 格式:H.264 MP4 分辨率:1364×768 【教程源码】 包含示例工程源码 【上架时间】 预计 2016 年 5 月 6 日 【付款方式】 申请加入 QDAC 视

[QWorker] 更新:修正了枚举作业状态的两处问题并修改了 At 函数一个重载的行为

【更新说明】 1、EnumJobStates 返回的运行中作业状态时,IsRunning 标志位设置不正确; 2、PeekJobState 正在运行作业的信息没有正确处理; 3、修改了 At 传递日期时间类型为参数的行为,原来忽略日期时间部分的日期部分,现在改为不忽略日期时间类型中的日期部分; 【严重程度】 中 【推荐

【付费教程】Delphi 下基于 QWorker 的多线程编程之二:进阶

本节是基于 QWorker 的多线程编程的四节课程的第二节,侧重讲解 QWorker 的教程基本用法。本视频以 Delphi 录制,但由于 Delphi 和 C++ Builder 使用同一 IDE,所以绝大部分内容同样适用于 C++ Builder。 【价格】 以人民币计价: 个人用户:50元 企业用户:300元 【

【付费教程】Delphi 下基于 QWorker 的多线程编程之一:基础

基于 QWorker 多线程编程由于知识点较多,将分四节课讲解。前两节侧重讲解 QWorker 的教程基本用法,后两节侧重与高级的用法及设计思路剖析。本视频以 Delphi 录制,但由于 Delphi 和 C++ Builder 使用同一 IDE,所以绝大部分内容同样适用于 C++ Builder。 【价格】 以人民币

[QPlugins] 多文档界面插件支持示例已经提供

示例代码已经放到 Demos\Delphi\MDI 目录下,实际运行效果: 注意,使用 MDIChild 类型的窗体做为服务,宿主和插件都必需同时包括 rtl 和 vcl 两个运行时包,否则无法检测到 MDI 主窗体。另外,要求插件和宿主程序必需使用同一编译器版本编译。

[QString] QString 中那些与字符串解析相关的函数

QString 提供了很多与字符串相关的函数来简化字符串的解析,不使用这些函数当然也可以解析字符串,这些函数只是简化字符串解析时的代码: DecodeToken DecodeToken 按指定的分隔符来解析出第一个字符串,分隔符可以有多种。 SplitToken SplitToken 按指定的分隔符分解所有的字符串内容

[QPlugins] DLL 中插件提供窗口服务指南

QPlugins 为了简化大家开发带有窗体的插件,提供了 IQFormService 接口的封装实现。要使用该接口,需要按以下步骤执行: 【宿主程序】 1、如果宿主程序是 VCL 程序,在某个模块的 uses 小节,加入 qplugins.vcl.messages 单元,以便引入对 Windows 消息的扩展支持服务;

[QMacros]示例:使用 QMacros 玩转 HTML 模板

我们在实际开发中,由于各种各样的原因,可能会结合浏览器来实现一些 Delphi 本身不好实现的效果。而如果网页是靠拼字符串来完成,显然其效率不是太理想。而如果结合 QMacros ,你会发现一切都变的那么简单。QMacros 的示例中包含了一个新的 HTML 模板示例代码,我们来解读其中与 QMacros 相关的部分,

[QMacros]更新:新增 MRF_ENABLE_ESCAPE 和 MRF_IGNORE_MISSED 标志位

【更新说明】 新增了两个标志位来更好的支持模板功能: MRF_ENABLE_ESCAPE 启用模板中的转义字符支持,转义字符以反斜线引起,后跟要转义的字符,如果非特殊转义字符,则为后面的字符。QMacros 支持的特殊转义字符包括,其含义和 QJson 的转义支持一致,但\后跟其它字符时,会返回其它字符,而不会出错:

[QDAC]QSendmail 单元已经加入到 QDAC 项目家族

【注意】QSendMail 支持 XE 以后的版本,以前的版本由于默认携带的 Indy 版本问题,无法直接支持。要在 XE 以前的版本编译,请在其上手动安装新版的 Indy 后再编译。 QSendmail 单元用于实现跨平台的邮件发送,它基于 Indy 的 TIdSmtpServer 实现,并简化了相应的接口,原来没有

[QMacros] 使用宏替换在百度地图上加标注

这段代码是我实际使用的一段代码,贴出来分享给大家。

这段代码的功能是在百度地图上,添加一个 marker 标记出指定的位置。当然这段代码你没法直接执行,因为缺少完整的定义,不过可以看出来如何在代码中通过 QMacros 将代码与脚本的模板进行分离。在调用

[QMacros] 教程: 使用 QMacros 从 PHP 脚本中获取使用的变量名称列表

【注】本教程仅出于演示目的,并不代表作者推荐或者反对某种做法,也不代表这些代码有任何其它实际用途。 QMacros 的是一个高效的栈式查找替换引擎,为您提供丰富的功能。下面的代码演示了如何从一段 PHP+HTML 混合代码得到所有的 PHP 定义的变量名(其中源代码放到了Memo1 里,输出的变量名称直接放到了Memo