[MyBean-说明书]关于插件的单件模式(singleton),插件的共享模式

【说明】 单件模式是一种用于确保整个应用程序中只有一个类实例。 想想我们的系统中有哪些方面可以应用到单件模式,比如大家常说的连接(ADOConnection)共享,其实就是指的单件模式。       【MyBean中的单件模式】 MyBean中插件一旦成为单件模式,框架就会帮你接管对象的生

QWorker更新-修正了工作者没有及时回退的保留数量的问题

【问题描述】 如果作业中有定时作业,会引起作业等待超时时间不断被重置,由此造成工作者不会被及时解雇。未修正的版本,如果运行测试程序,同时开启了定时作业,则会出现此问题。不修改只会造成工作者数量保持在历史上限,不会造成其它负面影响。 【严重程序】 一般 【更新级别】 可选

[MyBean说明书]-如果进行最简单的DEMO

MyBean是轻量级的、绿色的框架,不需要安装任何的组件和携带任何的其他文件,前 期步骤已经相当精简了,仔细阅读完下面简单的五个步骤,就可以编写基于MyBean的插件: 1.加入Delphi的搜索路径 source\frame-common,source\frame-core 2.主控台<EXE>进行初始化

关于插件的一些观点

插件,首先是一种机制,让你的程序易于扩展。但我们思考插件时,思维往往容易固化,从而限制了自己的思维。 我试图写点东西,打破这种固化的思维。 1、我这里将提供插件管理的核心称之为宿主,它应该是一种及其精简的微内核,唯一的作用就是注册和查询中心,内部维护每个插件的来源和所提供的服务就行。 2、宿主不需要知道如何去加载每个插

QWorker的下一步计划

QWorker目前已经实现要求的功能,那么,它的未来之路指向何方?我试图整理思路,下面只是头脑发热的内容,可能根本没精力去实现,也不会有人投资到这方面,让我有足够的资源去实现。 1、QFlow 这个是对QWorker的简单继承与发展,目标很明显,是基于作业调度的工作流控制。作业的调度本身,QWorker已经完成,QFl

QWorker更新-修正在特定情况下定时作业会停止执行的问题

【问题描述】 TQWorker.WaitSignal函数的参数类型应为Integer,但实际上为Cardinal,由此造成如果传入的等待超时小于0时,变成了一个很大的无符号整数,从而造成始终不会超时,由此引起重复定时作业停止执行。 【严重级别】 严重 【更新级别】 强烈建议

如何编译Delphi组件让其在C++ Builder中可用?

Delphi下有许多很好的VCL组件,但作者却没有提供C++ Builder的版本,这许多时候是因为作者就是纯Delphier,不了解C++,另外还有可能是因为作者本身就很懒,根本就没有考虑到C++ Builder的广大人民群众。那么,做为苦难深众的C++ Builder用户难道就此放弃吗?绝不!(此处应该有掌声) 实

QSocket构想-QSocket的层次模型

QSocket是QDB完成后的下一个大坑,底层会基于IOCP(Windows系)、EPoll(Linux系)和KQueue(OSX,FreeBSD系),以Delphi实现的跨平台的网络业务支持平台。 设想中的QSocket分为几个层次: 1、传输层 传输层负责数据准确送达,在传输层产生连接的概念,会为每个连接生成一个唯

【公告】网站的邮件发送服务由SendMail更新为Postfix

昨天(2014-8-27)群友在网站注册时,发现许多群友收不到注册邮件,百度后有各种解决办法,但最后选择了替换SendMail为Postfix,据说Postfix发送邮件的速度是Sendmail的3-4倍,先不管真假,至少我在完成后,试着注册时,确实很快收到邮件了。不过就是更换的过程有点坎坷,网站提示无法连接数据库,好

QJson更新-修复了阿木报告的一个Bug

问题是由于解析带有注释时JSON数据时,如果后面跟着数组或对象结束符,解析会失败。例如下面的JSON代码会解析失败: { “Name”:”MyName” //这是引起问题的注释 } 感谢阿木的报告,问题已经得到修正,没有包含注释的JSON不会受此问题影响。  

【重要公告】QDAC官网启用新域名qdac.cc

首先感谢音儿小白和建业兄弟提供的域名赞助。 新域名在2014年8月27日晚正式启用,旧的域名blog.qdac.cc在相当一段时间内仍会重定向到blog.qdac.cc,建议大家收藏blog.qdac.cc域名。 有了大家的帮助,QDAC项目将来一定会发展的更好。

QPlugins专题-跨语言、跨平台的微轻量级插件框架

QPlugins 插件框架是由 QDAC 项目组设计的轻量级插件框架,它试图提供一套基于接口的跨语言(初始版本支持 Delphi、C++)、跨平台(初始版本支持Windows,计划支持 Android/Linux/OSX/iOS 等平台)的一个插件框架。目前正在开发中,欢迎大家加入讨论。 本插件框架的设计理念参考了冰晰

多线程排序的一点思考

多线程排序内部使用快速排序算法,但因为排序时,要对数据进行分区,以便避免由于使用锁而降低排序效率。而数据分区时,我们该如何分,什么时间分是一个需要测试和权衡的问题。 QDAC的QDB的数据排序将使用多线程排序,算法不外乎两种: 1、简单分区再排序 在排序前,先将数据进行分块,保证前一块的的所有值都小于后一块,这样子再次

多线程程序的填坑笔记和多线程编程应该遵循的规则

这几天晚上群里一朋友有偿叫我把他的程序弄稳定,因为是现场管理项目,需要做到无人职守,所以即使是客户端,也不能经常down机,因为之前对他的程序有过一个晚上的实地查看,基本流程已经有个大概的了解,我就接下来了。 刚开始的时候, 程序运行不到一个上午,内存暴涨,有时几个小时就挂了,这个那天晚上发现了,找了半天发现一处加载图

杂谈-Windows8装完后机器进不去BIOS咋回事?

这个事情怎么说呢,一句话:进入Windows8然后选择重新启动,然后进BIOS的热键就好使了,否则,Windows 8关机时,微软和BIOS联合作弊(是支持Windows8快速启动的BIOS),根本就不让你按热键,你按了也没反应,结果就是咋整也进不去。我能说坑爹吗?

QMsgPack-TClientDataSet内容直接保存到MessagePack数据流

QMsgPack支持AsVariant方法,而TClientDataSet提供了一个Data属性的Variant类型变量直接传递数据集内容,由此,我们可以方便的建立两者之间的关系。 【提示】 在Delphi的早期版本中,Data这个Variant类型的值内部使用的是AnsiString来存贮的字节流,但我并不确定Del