swish

QDAC项目主要开发人员

[元旦礼物] 使用 TComTypeLib 调用 .Net DLL

首先感谢 2019 年许多的朋友对 QDAC 项目的支持,2019 年因为精力的原因,项目的更新和进度可能并不如大家的意。但是作者想说,我并没有放弃 QDAC 项目,只要大家还在, QDAC 项目就还在,就会继续维护。 下面进入正题。 【前置条件】 1、这个库是继于 COM 的 IDispatch 接口实现的,所以要求

[元旦]2020 继往开来,未来已来

不知不觉又是一年,我们迎来了 2020 是一个吉祥的年份。无论过去多少的苦辣辛酸还是甜蜜快乐,往者已不可追,我们要总结 2019 的成败得失,以此为基为 2020 奠基。 回顾过去,总觉得过得太快,展望未来,总觉得明天还来的及。但我想说,不管过去是弱小还是强大,得失不过一瞬,人生不已,奋斗不止。我们已经进入 2020

[教程]在 Delphi 中调用 .Net 的 DLL

首先,明确一点:本文提供的方法,要求 .NET 的 DLL 必需编译为支持 COM 接口的模式,这样子,它就可以让其它语言通过 IDispatch 接口进行调用。具体的教程,请自行百度。下面是网上搜到的一个截图。 生成后有 TLB 和 DLL 两种类型的文件,TLB 存贮了 DLL 中相关的接口的定义。接下来,如果我们

[教程]CentOS 下将 tomcat 安装为系统服务

本教程假设 tomcat 安装在 /usr/local/tomcat 目录下,JDK 安装到 /usr/local/tomcat/jdk 目录下,如果是其它目录,将其替换(如果使用openJDK,则替换为对应的 open JDK 目录,比如 /usr/lib/jvm/jre)。另外,本文不做任何保证。 1、执行以下脚本

[FMX]放大二维码显示

在以前的文章中,我介绍过如何在 FMX 中绘制二维码,但没有给出放大显示的代码,这里给出下,方便大家使用。 然后直接调用 ScaleQRBitmap 就可以了。注意 ASize 的计算应考虑进入 SceneScale 的值。参考代码如下: 程序运行效果:

[教程]基于 RTTI 创建特定类型的实例

在 Delphi 人群中,有些人总想通过名称,然后动态创建指定类的实例而不得其门而入,不得不将类型先注册,然后再回调解决这个问题。实际上,通过 RTTI 来创建实例是有办法的。下面是基本的步骤: 1、找到类型对应的 TRttiType 信息。这里有几个方法: GetType 方法,这个需要知道目标类型的 TClass/

使用 QDAC 创建 Linux 守护进程

上一篇文章中介绍了如何在 Delphi 中创建 Linux 守护进程,而这篇文章则试图将上文的操作简单化,不要再去考虑那么多事事非非。 【基础入门】 1、引入 qconsole_looper.pas 单元,这个单元本身原来是为了能够在控制台程序中运行主线程函数而引入的,换句话说,引用它后可以保证 QWorker 在控制

在 Delphi 中创建 Linux 守护程序(服务进程)

本文意译自 原文链接,语言上做了精炼和排版的变更,以便更简洁明了。 Delphi 开始支持 Linux 平台为 Delphi 开发人员开辟了创建 Linux 服务器应用程序的可能。但遗憾的是,目前 RAD Studio IDE 并不包括创建 Linux 守护程序()服务)。 【注意】本文假设您已经能够配置好 Linux

QDAC 付费产品概览

QDAC 开源项目除了为大家提供免费的开源框架外,为保证基本的费用支出,还有部分付费开源的组件带给大家,除非特别说明,不会依赖除了 QDAC 免费开源项目内容外的其它组件,另外下面的所有价格单元均为人民币元。 QLang:Delphi 下超级方便的多语言支持工具,部分良好编码的程序可以做到只需引用 qlang 单元,就

使用 ProcessExplorer 查看 Delphi/C++ Builder 的线程调用栈

ProcessExplorer 可以查看运行中进程的各种信息,包括特定线程的堆栈信息。这在我们程序出现死循环或者无响应时等问题时,除了在客户机器上重装一套环境或Remote Debugger 之外(吐槽下 PAServer/RemoteDebugger 在 Windows 下真心不太好用),另外一种在客户机器上能够找到

[QHttpRequest]使用自定义 DNS 来应对 DNS 劫持

为了保证业务的稳定性,避免在由于用户的 DNS 服务器返回错误的 IP 地址,造成程序无法正常运行的情况,QHttpRequest 新增了一个 OnDnsLookup 事件,以便让用户自己处理 DNS 请求。 举个例子:我们要获取 https://blog.qdac.cc 的内容,如果我们指定了 OnDnsLookup

民政部最新的行政区划信息下载

以前都是从一些别的网站上抓取行政区划数据,发现民政部和国家统计局实际上提供了相关信息,访问地址如下: 民政部 | 国家统计局 国家统计局是精确到村的,但好象没有民政部的新,但使用应该问题不大。民政部则是没有这样整理好。 另外有行政区划信息的网站 行政区划网站 提供一些信息查询,但还是以最新的国家统计局官网为准吧。 国家

[教程]栈上接口对象在匿名函数中的使用时请注意内存泄露问题

首先看下面的示例代码: 一般来说,我们认为 Delphi 自己管理接口的引用计数,所以不太会注意,但是,在上面的示例中,由于要保证 ATest 在匿名函数中的可用性,Delphi 并没有在函数退出时,减少 ATest 的引用计数,而在匿名函数执行完成后,同样也并没有减少计数,这就造成了 ATest 实例的引用计数没有减

[教程]使用 Delphi 获取当前操作系统的时区

嗯,这段代码实际上已经集成到 QString 单元了,所以你可以直接调用 GetTimezone 函数来获得时区了。用 GetTimezoneText 可以获得时区的字符串表示。 代码不长,用起来也简单,它实际上返回的时区对应的分钟数,比如北京时间是480,也就是 8 小时,其它依次类推。使用 GetTimezonTe

[转]LEO原创-FMX之你不知道的ARC

源贴地址 FMX加入了ARC技术,对象创建后不用释放,FMX会帮你释放,是不是这样就不用关心对象的释放了呢,非也! 写简单的代码,这个功能也许很好用,但如果你写的是一个项目,那隐藏的坑无形中大大的增加开发难度, 开发人员需要更加小心注意对象的释放问题:你原来正常运作的代码,在FMX下,极有可能运作不正确,灵异现象熊出落