自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(96)
  • 资源 (14)
  • 收藏
  • 关注

原创 Win11更新后Edge卡顿掉帧?隐私窗口流畅解决办法

Win11更新后Edge浏览器卡顿,仅普通窗口受影响,隐私模式流畅,根源为迅雷下载支持扩展兼容性问题。该扩展更新后高频占用主线程,导致渲染卡顿。解决方法:卸载扩展(首选),或将其权限改为“单击时”访问,或关闭迅雷客户端的资源嗅探功能,可彻底消除卡顿。

2026-09-18 13:42:40 165

原创 Delphi 动态数组深拷贝的隐蔽陷阱:当 SetLength 没有真正分配新内存

某Delphi项目因Move+SetLength组合误用导致内存崩溃:Move造成动态数组浅拷贝,共享堆内存;后续SetLength在引用计数为1且长度不变时无操作,未触发深拷贝。清理时释放源数组,目标指针悬空,调用Length()返回随机大值致崩溃。删掉清理代码“修复”实为掩盖泄漏。正确做法是SetLength前强制置空指针(Pointer(arr):=nil),确保新分配。教训:勿依赖SetLength自动深拷贝,需主动解除共享。

2026-09-17 16:36:49 327

原创 基于 Free Pascal 从零编写裸机操作系统(一)

本文介绍了一个使用FreePascal开发的32位保护模式最小操作系统内核,完全独立运行,不依赖任何操作系统标准库。主要内容包括:1. 汇编入口文件处理Multiboot引导规范和栈初始化;2. VGA文本控制台驱动的实现;3. Multiboot硬件信息结构体定义;4. 内核主程序整合各模块,完成系统初始化和信息显示。该内核通过GRUB引导,直接操作硬件资源,展示了Pascal语言开发裸机系统的可行性,为后续功能扩展提供了基础框架。

2026-07-31 21:20:10 364

原创 电脑关不了机,每次都只能长按电源键才能关机

摘要:以管理员身份运行CMD,输入shutdown /s /f /t 0命令可强制立即关机。若成功关机(屏幕关闭、风扇停止),说明系统内核关机流程正常,问题可能出在桌面或某个进程卡死;若该命令仍无法关机,则需进一步排查更深层次的系统问题。该方法能快速区分系统关机的故障层级。

2026-07-11 12:12:30 244

原创 Delphi经典8大天坑|第八篇:TBitmap跨线程使用,导致GDI泄漏/崩溃/画面花掉

在多线程程序中,用TBitmap进行绘图、图片处理(如在子线程中绘制图像、修改Bitmap像素),程序运行一段时间后,出现画面花掉、控件闪烁、GDI对象泄漏(任务管理器中GDI对象数持续增加),甚至崩溃报错,且问题在高并发、长时间运行后更明显。核心原则:GDI对象(TBitmap)**线程隔离+同步**,子线程使用自己创建的GDI对象,避免直接操作主线程的GDI对象;1. 子线程使用GDI对象(TBitmap、TCanvas等),必须自己创建、自己释放,不引用主线程的GDI对象;// 同步到主线程显示。

2026-04-05 10:15:00 340

原创 Delphi经典8大天坑|第七篇:构造函数未写inherited,导致对象结构损坏(诡异AV/异常)

自定义类继承自Delphi内置类(如TObject、TComponent、TForm),重写构造函数Create时,未写inherited语句,导致对象创建后,出现各种诡异问题:控件无法显示、属性赋值无效、调用方法触发AV崩溃、对象释放时报错等,且问题难以定位。典型场景:自定义控件继承自TGraphicControl,构造函数未写inherited,导致控件无法绘制、属性无法生效。核心:子类构造函数的第一行,必须调用inherited(可带参数,也可不带),确保父类初始化完成后,再执行子类的逻辑。

2026-04-04 10:15:00 322

原创 Delphi经典8大天坑|第六篇:方法参数缺省值写在实现区,导致缺省值不生效

给方法(过程/函数)定义参数缺省值(默认值)后,调用方法时不传递该参数,期望使用缺省值,但实际运行时,缺省值不生效,参数呈现随机值或错误值,排查时误以为是“缺省值语法写错了”。Delphi的语法规则明确:方法的参数缺省值,**必须定义在interface区(接口区)**,implementation区(实现区)的缺省值定义无效。核心:将参数缺省值写在interface区的方法声明中,implementation区只写方法实现,不重复定义缺省值(重复定义也无效)。// 实现区不重复写缺省值,只写方法逻辑。

2026-04-03 10:00:00 344

原创 Delphi经典8大天坑|第五篇:ShortString与String混用,导致字符串截断/乱码

摘要:Delphi开发中混用ShortString和string类型会导致字符串截断或乱码问题。ShortString最大255字符,超长部分会被自动截断且无提示;而string类型无长度限制。问题根源在于两者混用时类型转换不兼容。解决方案包括:1)新项目统一使用string类型;2)必须使用ShortString时需提前判断长度,避免截断;3)旧代码逐步替换ShortString为string。典型错误是将长string赋值给ShortString导致截断,正确做法是统一使用string类型或在赋值前检查

2026-04-02 10:00:00 714

原创 Delphi经典8大天坑|第四篇:动态数组未初始化,导致内容乱码/随机值

Delphi动态数组使用SetLength分配后不会自动初始化,导致元素出现随机值。原因是动态数组只分配内存空间,不初始化默认值,残留内存垃圾数据。正确做法是:分配长度后立即用FillChar或ZeroMemory初始化(数值类型用FillChar(Arr[0],SizeOf(Arr),0),字符串类型可遍历赋空值)。静态数组会自动初始化,但动态数组必须手动处理,这是常见混淆点。关键技巧:每次SetLength后必须初始化,FillChar参数为首元素地址、数组总大小和初始化值0。

2026-04-01 10:00:00 192

原创 Delphi经典8大天坑|第三篇:string转PChar后,原字符串释放导致野指针(乱码/崩溃)

当我们用PChar(Str)将string转为PChar时,得到的指针是“临时指向string的内存地址”,而非复制一份字符串内容;将string类型转换为PChar(字符指针)后,偶尔出现乱码、偶尔触发崩溃,且问题不稳定——有时候正常,有时候异常,排查时难以复现,极易误以为是“内存溢出”或“编码问题”。核心原则:确保PChar指向的string在PChar使用期间“不被释放、不被修改”,最稳妥的方式是用一个局部string变量保存原字符串,再将该变量转为PChar。// 将S复制到P指向的内存。

2026-03-31 10:00:00 373

原创 DelphiSpeedUp 介绍

DelphiSpeedUp V2.8是一款深度优化Delphi IDE性能的工具,通过三重技术方案解决开发中的性能瓶颈:1)重构I/O系统,采用内存映射文件和预读缓冲优化文件访问;2)重写RTL关键函数,利用SSE2指令和汇编优化核心算法;3)实施CPU寄存器级优化,包括强制寄存器绑定和新型CPU指令集利用。该工具还改进了消息调度和符号索引机制,兼容Delphi 10.2至11.3版本,通过非侵入式DLL注入实现动态优化,提供模块化配置选项。作为Pascal生态中罕见的底层优化方案,它既是效率工具,也是研究

2026-03-30 14:38:43 212

原创 Delphi经典8大天坑 第二篇:对象Free后未置nil,Assigned判断“误判”导致AV

摘要:Delphi中直接调用Free方法释放对象后,指针不会自动置nil,导致Assigned函数误判野指针为有效对象,后续调用可能引发AV错误。正确做法是使用FreeAndNil函数,它会在释放内存后自动置nil指针,避免野指针问题。典型场景如窗体关闭时释放对象,若仅用Free会导致后续代码误判对象存在而崩溃。建议始终优先使用FreeAndNil,或在调用Free后手动置nil指针,这是Delphi对象释放的最佳实践。

2026-03-30 14:24:09 407

原创 E2202 Required package ‘%s‘ not found (Delphi)

Go Up to Error and Warning Messages (Delphi)The package, which is referenced in the message, appears on the package list, either explicitly or through a requires clause of another unit appearing on the package list, but cannot be found by the compiler.The

2025-03-16 19:33:55 328

原创 win11 无法找到音频输出设备

8.在“厂商”栏里点击“Microsoft”,右边“型号”栏里点击“High Defintion Audio 控制器”4.找到“英特尔(R)智音技术音频控制器”右键点击“更新驱动程序”5.点击第二个“浏览我的计算机以查找驱动程序软件”6.点击“让我从计算机上的可用驱动程序列表中选取”7.把“显示兼容硬件”前面的钩子✓去掉。2.找到“设备管理器”1.右键“开始”按钮。3.展开“系统设备”

2025-02-24 10:08:47 1649

原创 delphi11 TTextWriter.CreateOwnedStream

引用单元 SynCommons。

2025-02-14 15:47:21 218

原创 Delphi 11 canvas does not allow to draw Vcl.Graphics.OutOfResources

把Devart DataSet Manager包勾选去掉。如果同时安装了CnPack和UniDAC,

2024-12-11 16:30:54 1227

原创 Delphi 11 compile error in SynHighlighterECMAScript.pas

dcc32 Warning] SynHighlighterECMAScript.pas(742): W1063 Widening given AnsiChar constant (#$B5) to WideChar lost information解决方法:增加编译开关。

2024-12-08 15:08:52 421

原创 delphi IDE 插件DelphiIDEPlugin_SearchProject,用于从项目组中查找项目

delphi IDE 插件DelphiIDEPlugin_SearchProject,用于从项目组中查找项目。安装后在菜单Tools下第一个子菜单项查找项目。

2024-12-04 13:36:23 816

原创 cxGrid 按钮列 不响应按钮点击事件

cxGrid1DBTableView1.OptionsSelection.CellSelect := true; cxGrid1DBTableView1.OptionsData.Editing := True;

2024-06-29 17:35:41 338

原创 delphi FDQuery 参数化查询获取完整SQL

vari:Integer;begintrybeginend;exceptend;end;

2024-06-14 16:08:33 635

原创 delphi FDMemTable1.SourceView遍历各行数据,取任意行数据无需Next移动指针了。TFDDatSView

beginthenContinue;end;

2024-06-14 15:03:43 407

原创 delphi rzcombobox DropDownList 灰色背景改为白色

修改 RzCmboBx.pas。

2024-04-26 15:18:27 368

原创 内存32G

分别双击 DisablePagingExecutive 和 LargeSystemCache 这两项,将其数值由 0 修改为 1。关闭 MemoryCompression 内存压缩和 PageCombining 内存合并。管理员身份运行PowerShell。

2024-04-18 10:16:14 866

原创 delphi vcl dll texthint 不生效 EM_SETCUEBANNER

若要使用此 API,必须提供指定Comclt32.dll版本 6.0 的清单。有关清单的详细信息,请参阅。一定要打开工程选项Enable Runtime Themes。

2024-04-12 20:11:56 316

原创 在Delphi中向FDMemTable添加字段

varbegintrybeginend;exceptend;end;

2024-04-02 14:45:00 718

原创 如何更新STEAM税务信息

回复邮件上述内容仅供参考参考视频。

2024-03-30 01:09:04 993 1

原创 ORA-12705: Cannot access NLS data files or invalid environment specified

重启电脑。

2024-03-19 19:12:12 1255

原创 如何取消Win10任务窗口栏预览。任务栏图标合并后竖排排列。

Windows Registry Editor Version 5.00[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]"ExtendedUIHoverTime"=dword:00010000[HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Taskband]"NumThumbnails"=dword:0

2023-12-06 13:33:21 780

原创 [Windows 10] 如何关闭Windows中的快速启动功能

电源和睡眠设置]其他电源设置选择电源按钮的功能。

2023-11-27 11:58:40 878

原创 postgresql免安装版 正在执行自举后初始化 无效的 “UTF8“ 编码字节顺序: 0xcf 0xc2

路径不要有中文。

2023-11-23 14:26:06 531 1

原创 delphi7 StringToWideChar

2);

2023-11-22 14:56:24 340

原创 Delphi利用adoquery调用sql server存储过程 标量值函数 表值函数

/参数名不需要与sql中定义的参数名相同。{利用adostoreproc调用sqlserver标量值函数}{利用adostoreproc调用sqlserver存储过程}

2023-11-16 10:56:56 755

原创 TNS_HOME ORACLE_HOME tnsnames.ora

TNS_HOME tnsnames.ora文件所在目录。ORACLE_HOME 客户端根目录。

2023-10-31 14:33:11 199

原创 DELPHI7 ODAC 报错ORA-01740

DELPHI7 ODAC 报错ORA-01740

2023-10-17 16:21:12 401

原创 win10 版本21H2 + vs2022 + Windows 11 版本 22H2 WDK

Driver Signing - Test Certificate 下拉菜单中点击Create Test Certificate。若要使用 Visual Studio 2022 开发和测试驱动程序,请下载 Windows 11 版本 22H2 WDK。Driver Settings - General,Target OS Version改成Windows 10,Target Platform改为Desktop;C/C++ - 常规,警告等级 4,将警告视为错误 否;链接器 - 常规,警告视为错误 否;

2023-08-21 15:40:53 2894

原创 Delphi FireDAC 连接SQLite

uses。

2023-07-09 11:44:15 525

原创 Delphi7 ODAC控件连接Oracle RAC

如果要使用ODAC控件连接Oracle RAC,则需要Oracel安装客户端,并且不使用Direct模式,ODAC 控件中的Direct模式不支持Oracle RAC,只能够链接一个确定的RAC实例。根据说明,安装Oracle客户端,安装好之后,查找tnsnames.ora文件。orsn1.Server:=服务名;链接方式与ADO连接Oracle一致。注意,DMSII前不能有空格。

2023-06-29 10:15:57 781

原创 Delphi SplitString 字符串分割成字符串组

/把字符串分割成字符串组。

2023-06-07 08:43:26 1611

原创 delphi7 undeclared identifier:eol

引用单元usesidglobal。

2023-06-04 15:38:42 306

原创 批处理 遍历删除delphi源码文件夹下dcu等所有类型的临时文件,包括其子文件夹

echo off, *.~ddp, *.~dpr, *.~pas, *.~pa, *.~dfm, *.$$$del "%%f"

2023-06-01 20:24:33 554

delphi IDE 插件DelphiIDEPlugin-SearchProject,用于从项目组中查找项目

delphi IDE 插件DelphiIDEPlugin_SearchProject,用于从项目组中查找项目 安装后在菜单Tools下第一个子菜单项查找项目

2024-12-03

delphi rzcombobox DropDownList 灰色背景改为白色

delphi rzcombobox DropDownList 灰色背景改为白色

2024-04-26

如何取消Win10任务窗口栏预览 任务栏图标合并后竖排排列

如何取消Win10任务窗口栏预览。任务栏图标合并后竖排排列。

2023-12-06

D7ListView自绘test.zip

DELPHI7ListView自绘test

2023-09-01

win10 版本21H2 + vs2022 + Windows 11 版本 22H2 WDK 驱动工程demo

win10 版本21H2 + vs2022 + Windows 11 版本 22H2 WDK 驱动工程demo

2023-08-21

D7WebServiceTest-Web App Debugger executable

D7WebServiceTest_Web App Debugger executable

2023-08-17

D7WideStringAnsiStringTest

D7WideStringAnsiStringTest

2023-08-17

delphi 调用OpenAI接口

delphi 调用OpenAI接口

2023-06-02

批处理 遍历删除delphi源码文件夹下dcu等所有类型的临时文件,包括其子文件夹

批处理 遍历删除delphi源码文件夹下dcu等所有类型的临时文件,包括其子文件夹

2023-06-01

MVC-VCL-Demo

MVC_VCL_Demo

2023-01-12

win10 使用 fpc 编译Pascal Bare Bones 操作系统

win10 使用 fpc 编译Pascal Bare Bones 操作系统

2022-02-10

DelphiClientSocket断线重连.zip

Delphi ClientSocket断线重连.zip

2020-03-06

Delphi HttpServer跨域

Delphi HttpServer跨域 CustomHeadersStringList.Add('Access-Control-Allow-Origin:*'); AResponseInfo.CustomHeaders := CustomHeadersStringList;

2019-04-03

GNU Gettext Delphi Demo

GNU Gettext Delphi Demo。功能非常简单,只是验证GNU Gettext 是否可用。请首先安装dxgettext和poedit.

2016-11-29

delphi控件AAFont2.63

delphi控件AAFont2.63

2016-11-14

google-play-services.jar

google-play-services.jar google admob所需jar包,导入项目即可

2019-03-19

VCLThemeSelector.zip

VCLThemeSelector

2021-05-19

Pascal-gzip.zip

Pascal-gzip

2021-05-19

NamedPipeOVERLAPPED.zip

NamedPipeOVERLAPPED.zip

2021-03-30

delphi10可用Fastnet_V5.6.3_For_D5D6D7D9D10 - 副本.zip

delphi10可用Fastnet_V5.6.3_For_D5D6D7D9D10 - 副本.zip

2019-11-06

80例上手Delphi7编程(完全版)代码.zip

80例上手Delphi7编程(完全版)代码.zip

2016-12-14

CCCp_0.0.30_C078D67F.zip

佳能相机EDSDK3.6 delphi X demo,调试通过,可拍照和串流

2018-05-28

delphi控件ComboxGrid

包含PasComboxGrid.pas

2016-11-14

Easy Mobile v1.1.5.unitypackage

unity 插件 Easy Mobile v1.1.5.unitypackage

2018-02-06

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除