[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

[QWorker]更新:修正了特定场景下,空闲工作者全部被解雇而引起的问题

【问题描述】 该问题是由于解雇策略没有考虑到长时间作业而引起的。比如,我们投递两个长时间作业和一个间隔时间很长的重复作业,然后如果长时间没有投递新的作业,由于其它工作者长时间无作业处理,会被自动解雇,只剩下最后两个长时间作业的工作者在工作,从而无法处理间隔时间很长的重复作业。 【严重程度】 高 【更新级别】 推荐 【特

[QMacros] 更新:增加对用户自定义规则的宏名称解析的支持

QMacros 默认是通过宏的开始字符串和结束字符串来区隔宏名称的。但这并不是所有的时候都能满足我们的需要,比如下面的字符串中,我们用 $ 来开始宏名称,遇到非数字时,宏名称就结束: Replace $1.Name to $2.Name 根据前述规则,$1 和 $2 我们人工就可以解析出两个宏 1 和 2,而由于没有宏

[专题] QAMF – Delphi 下 AMF 0 和 AMF 3 格式支持库

AMF 是 Adobe Message Format 的缩写,是 Adobe 的一种专用的数据格式,Flash 和 Flex 平台用的都是它。有许多朋友一直想要一个 Delphi 下对 AMF 格式完整支持的库,而目前开源和非开源的部分都没有找到合适的库,所以在朋友们的支持下,特编写这么一个 AMF 格式的支持库奉献给

[QWorker] Delay 函数新增 ARepeat 参数用来实现重复延迟作业

QWorker 提供了多种重复作业的支持,但是,如果一个作业执行的时间超过了重复间隔,下一次作业不会等待上一次作业结束就会执行,这在某些需求场景下会造成不便。以前我建议大家用人工调用 Delay 的方式来解决这一问题,现在不需要了,QWorker 的 Delay 函数增加了这样一个参数,来简化您的编程: 先看一下函数声