[教程]使用 TQJsonOutputChannel 写入 JSON 数据到流中

TQJsonOutputChannel 的主要作用是用来快速写入大型的 JSON 数据到文件中,所以整体是面向写入过程设计的,不要试图用它来控制内容的修改。 假设我们要将数据内容写入到目标数据流 AStream 中: 第一步:我们需要定义一个 IQJsonStreamEncoder 的实例,它是一个结构体,所以直接在栈

[教程]使用 TQJsonInputChannel 来重复获取 JSON 对象

TQJsonInputChannel 是 QJson 新增的对象,目的是解决连续的JSON序列读取和超长的JSON数据内容读取处理的问题。 【基本步骤】 1、根据源的编码,创建对应的序列对象并设置相关事件: 2、从源中读取一块数据,然后推到 TQJsonInputChannel 实例中,不需要关心读取的块是否完整,TQ

[译]RAD Studio 11 更新说明

原文链接:官方文档 官方ISO下载 Bug修复列表 注:本文为简译 IDE 高DPI支持 IDE 所有窗口都支持高 DPI 了,解决了高 DPI 缩放造成的模糊问题,有高分显示器,而且使用高 DPI 的开发者值得一试 VCL 窗口设计器支持定制 DPI(自动/96/自定义)缩放,FMX 本来就支持高 DPI 缩放 Op

[杂谈]OpenHarmony 路线图

这是在一篇文章中看到的,供大家参考: 目前知道的是,2.2 已经发布比原计划晚了一些,全力准备 3.0 版。早期的路标规划参考下图,传言接下来全力冲向3.0版本了,那将是一个值得纪念的版本:

【杂谈】鸿蒙 OS 对开发人员带来的机遇和挑战-挑战篇下

【挑战4】鸿蒙会不会获得大量软硬件厂商的支持?答案:会理由:(1)硬件方面:对于国内的物联网厂商来说,这是一个巨大的机会。原来各自为战的状态,急需一个从底层协议统一的平台支撑。而目前能够实现这一点的,而且让大家信得过的,也只有华为一家。目前市面上的协议,还有米家杂货铺和 各个厂商各自为政,互联互通都成问题,这对大家购买

[杂谈]鸿蒙 OS 对开发人员带来的机遇和挑战-挑战篇上

鸿蒙 OS 2.0 正式发布了,对我们这些软件开发人员来说,它能带来那些机遇和挑战呢? 【挑战1】鸿蒙会不会成为一款优秀的操作系统?答案:会理由:就鸿蒙 OS 2.0 的情况来看,显然说它会成为一款优秀的操作系统是不需要质疑的东西。1、鸿蒙本身所占的体积要比 Android 小不少,相比 Android 手机,用户实际

【教程】对 TEvent 的一处增强

对于 TEvent 来说,如果是调用 WaitFor 等待超时时,如果程序退出时,事件仍在等待状态,就需要等待超时才能退出,造成程序退出时等待很长时间。要改进这一点,我们需要新版的 QWorker,它实现了一个 TAbortableEvent 的记录类型,然后支持取消操作。 TAbortableEvent 的增强在于:

[教程]如果在 Delphi /C++ Builder 中调试单元初始化时的错误

有时候,我们程序在进入 Main 函数入口前,就开始报错,比如 Acesss volation at XXX read at yyyy 一类的错误。这类错误一般是由于单元之间的引用关系和初始化顺序不一致造成的。比如单元 A 的初始化代码调用了单元 B 的函数,但单元 B 此时尚未初始化,所以其使用到的一些全局或静态变量

[教程]使用 TEdgeBrowser 组件

仅供有兴趣的朋友们参考,步骤有点小复杂。 1、下载 nuget。 2、在命令行执行:nuget install Microsoft.Web.WebView2 3、从微软官方下载 Webview 2 运行时。 4、在 nuget 目录下,搜索对应架构的 webview2loader.dll 并复制到你程序目录下,然后运行

[教程]VCL 中 TScrollBox 的一处 Bug 简单处理

TScrollBox 如果在设计时,滚动条的位置没有初始化到最开始的位置,或者不小心动了,可能就会存在特定的元素显示不出来的情况,此时,如果不考虑修改 VCL 源码,可以调用 ScrollInView 将最边缘的元素滚动到可视区,然后再设置对应滚动条的位置为 0 来解决。当然最根本的还是官方修复。

[分享]一种将 Delphi 组件属性信息保存到JSON的方法

此代码支持 Delphi 2007+,使用 QJSON 做为序列化的支持库。你可以自己改为使用其它的 JSON库(注:此文写法未完善,仅为示意)。 使用示例: 如上面的示例,由于写成了 class helper,所以保存到 Json 里,直接调用组件实例的 SaveToJson 就可以了,而从 Json 中恢复则直接调