摘要: Lazarus可以交叉编译Linux的应用程序,但编译动态库时出错。 C:\LazarusFPC\cross\bin\aarch64-linux\aarch64-linux-gnu-ld.exe: cannot find /lib/ld-linux-aarch64.so.1 如是x86等提示不一样 阅读全文
posted @ 2025-07-29 10:54 禁卫军 阅读(74) 评论(5) 推荐(0)
摘要: 1、进入lazarus\components\chmhelp\lhelp打开lhelp项目,并编译。2、下载帮助文档https://sourceforge.net/projects/lazarus/files/Lazarus%20Documentation/ 找到对应的版本下载。解压到lazarus 阅读全文
posted @ 2025-07-17 10:43 禁卫军 阅读(34) 评论(0) 推荐(0)
摘要: #!/bin/sh # 获取 ELF header 中 e_flags 的第 4 字节(偏移 0x30)# 使用 hexdump 提取后,用 awk 打印第一个字节FLAG_BYTE=$(hexdump -s 48 -n 1 -C /usr/bin/sh 2>/dev/null | awk '{pr 阅读全文
posted @ 2025-07-08 10:17 禁卫军 阅读(29) 评论(0) 推荐(0)
摘要: 2025年6月19日更新。 推荐一个免费可用的AI接入 https://passport.xfyun.cn/login 注册完成后 选择这个,是免费的。 再查看 在设置AI参数中填入上面的apiPassword 地址 https://spark-api-open.xf-yun.com/v1/chat 阅读全文
posted @ 2025-06-18 22:30 禁卫军 阅读(113) 评论(1) 推荐(1)
摘要: 如何只是显示SVG的话,resvg比skia4delphi效果要好得多,而且只有2-3M非常小。 一、Linux下 步骤一:安装 Rust 工具链(如果尚未安装)curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource 阅读全文
posted @ 2025-06-07 10:59 禁卫军 阅读(39) 评论(0) 推荐(0)
摘要: 一般用得到 ACol, ARow: Integer; MousePos: TPoint; MousePos := ScreenToClient(Mouse.CursorPos); // 将鼠标位置转换为单元格的行列索引 StringGrid1.MouseToCell(MousePos.X, Mous 阅读全文
posted @ 2025-04-03 11:25 禁卫军 阅读(25) 评论(0) 推荐(0)
摘要: 问题 在开发机上DPI为100%,在实际部署时目标机可能DPI设置不是100%,运行软件时控件位置不对。出现错位问题。 解决 在程序中设置应用所使用的DPI if Screen.PixelsPerInch<>96 then begin ScaleBy(96,Screen.PixelsPerInch) 阅读全文
posted @ 2025-04-02 20:26 禁卫军 阅读(91) 评论(1) 推荐(0)
摘要: 在使用Lazarus向Deepseek投喂数据时,要上传文件,上传英文文件名没问题。上传中文文件名时AnythingLLM也能正常处理,但是文件名是乱码。在管理投喂文件时非常不方便。 var HTTPClient: TFPHTTPClient; Response: TStringStream; // 阅读全文
posted @ 2025-03-26 23:07 禁卫军 阅读(70) 评论(0) 推荐(0)
摘要: 在Windows下直接用 AcsAudioOut1:=TAcsAudioOut.Create(Nil);AcsAudioOut1.Delay:=6; AcsAudioOut1.DriverName:='Wavemapper'; AcsAudioOut1.Volume:=80; AcsFileIn1: 阅读全文
posted @ 2025-03-17 22:37 禁卫军 阅读(21) 评论(0) 推荐(0)
摘要: 生成语音库1、https://aistudio.baidu.com/projectdetail/5825792 项目点击运行一下,选择32G显卡运行。2、录音 24000hz 16Bit 单声道,10个以上。 3、在虚拟机中按提示安装软件。运行 bash env.shpip install type 阅读全文
posted @ 2025-02-21 21:39 禁卫军 阅读(73) 评论(0) 推荐(0)
摘要: 一、HtmlViewer HtmlViewer是Lazarus自己带的一个控件,可用于简单Html文件的显示。 优点:无需动态库支持,跨平台方便,显示速度快。 缺点:不能运行JS等脚本,对css支持有限,网络支持不全面。 2025年4月30日,使用quickjs可以执行js脚本,但不能用DOM操作。 阅读全文
posted @ 2024-11-21 10:42 禁卫军 阅读(241) 评论(0) 推荐(1)
摘要: 在调用dll时可能出错浮点异常错误,使用以下语句屏蔽之:uses Math; SetExceptionMask(GetExceptionMask + [exInvalidOp]);或者都屏蔽了:SetExceptionMask([exInvalidOp..exPrecision]);SetExcep 阅读全文
posted @ 2024-11-03 23:06 禁卫军 阅读(84) 评论(0) 推荐(0)
摘要: Lazarus调用Opencl可有效提高数据处理能力,但是如果Opencl源代码有问题,Lazarus调试起来比较麻烦。自己开发了一个OPencl编译测试器,可以对源码进行测试,并找到错误原因和位置。 在此分享给大家。 下载地址 https://pan.baidu.com/s/1szRRWf9xom 阅读全文
posted @ 2024-10-23 11:29 禁卫军 阅读(69) 评论(0) 推荐(1)
摘要: 一、读一个图片到数据库 var inimage1:TImage; TPStream:TMemoryStream; inimage1 := TImage.Create(nil);//读取图片 TPStream := TMemoryStream.Create; Image1.Picture.SaveTo 阅读全文
posted @ 2024-09-27 19:28 禁卫军 阅读(103) 评论(0) 推荐(1)
摘要: 好多开源的项目要用,但是没有Lazarus的头文件。在win下只能用VC自己写一个接口动态库。在Linux环境下怎么写这些接口库,下面是一个简单的方法: 一、用VC编译好源程序,并用Lazarus成功调用。二、新建一个cpp1、引用等按VC进行编写2、dll中的extern "C" __declsp 阅读全文
posted @ 2024-09-23 11:31 禁卫军 阅读(41) 评论(0) 推荐(0)
摘要: __try{BYTE* pch ;pch = ( BYTE* )00001234 ; //给予一个非法地址*pch = 6 ; //对非法地址赋值,会造成Access Violation 异常}__except( EXCEPTION_EXECUTE_HANDLER ){AfxMessageBox( 阅读全文
posted @ 2024-09-05 21:24 禁卫军 阅读(21) 评论(0) 推荐(0)
摘要: Lazarus在Loongxin下使用到SSL出错,显示could not load ssl library 查看lib中有libssl libcrypto两个库 用strace跟踪运行发现要的版本是1.0.2的,系统上是1.1.1版本,所以找不到库。 解决方法 1、下载源https://www.o 阅读全文
posted @ 2024-08-17 23:13 禁卫军 阅读(107) 评论(0) 推荐(0)
摘要: 一、毫秒级 Linux 平台示例(毫秒)program HighPrecisionTimer; {$mode objfpc}{$H+} uses BaseUnix, SysUtils,Linux; var StartTime, EndTime: TTimeSpec; Elapsed: Double; 阅读全文
posted @ 2024-08-16 20:18 禁卫军 阅读(112) 评论(0) 推荐(0)
摘要: Lazarus在Loongarch的loongxin mate系统不能使用系统的打开、保存等对话框问题。 运行OpenDialog1.Execute后出现 浮点数例外 错误,程序自动退出。 根据 秋.风 在在龙芯loongxin mate系统lazarus和编译的应用打开文件对话框出现卡死的临时处理 阅读全文
posted @ 2024-08-10 20:14 禁卫军 阅读(48) 评论(1) 推荐(0)
摘要: DelphiXE12源代码支持多行字符串字面量,方便在应用程序源代码中嵌入SQL、HTML、JSON、XML等多行文本。 Lazarus目前是不支持的。但可以实现类似功能 temp:=String.Join(sLineBreak, [ 'SELECT *', 'FROM Customers', 'W 阅读全文
posted @ 2024-08-09 11:24 禁卫军 阅读(94) 评论(0) 推荐(0)
摘要: 1、在dll工程中加类和接口 type IMyClass = interface ['{A1B2C3D4-E5F6-4789-ABCD-1234567890AB}'] // 接口 ID function Foo(inInt: Integer):Integer; stdcall; end; TMyCl 阅读全文
posted @ 2024-08-02 11:51 禁卫军 阅读(149) 评论(0) 推荐(0)
摘要: 使用IPC收发消息可以在Windows和Linux下通用。其它系统没测试。 1、在system选项卡中选择TSimpleIPCServer和TSimpleIPCClient加到窗口中 SimpleIPCClient1: TSimpleIPCClient; SimpleIPCServer1: TSim 阅读全文
posted @ 2024-07-23 18:35 禁卫军 阅读(118) 评论(0) 推荐(0)
摘要: 一、下载Onnxruntime GitHub - microsoft/onnxruntime: ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator 注意win7运行时会出错。 可 阅读全文
posted @ 2024-06-23 10:51 禁卫军 阅读(234) 评论(0) 推荐(0)
摘要: 一、下载ffmpeg-delphi-pascal-headers 下载地址Headers | FFVCL – Delphi FFmpeg VCL Components(Video Encoder and Video Player) 下载 Releases · BtbN/FFmpeg-Builds · 阅读全文
posted @ 2024-05-16 21:07 禁卫军 阅读(409) 评论(0) 推荐(0)
摘要: 目前Lazarus只能支持到opencv2.4.13的直接调用。要调用高版本的Opencv只能用其它语言生成dll等间接调用。经过对Opencv和C++数据的研究。可以使用Lazarus直接调用高版本的Opencv了。 以下是调用Opencv4.70的简单例子。 一、定义类型和函数 {$IfDef 阅读全文
posted @ 2024-05-06 20:47 禁卫军 阅读(525) 评论(0) 推荐(0)
摘要: 泛型类型数组type generic TArray<T> = array of T; 调用var IntArray: specialize TArray<Integer>; StrArray: specialize TArray<string>;begin SetLength(IntArray, 3 阅读全文
posted @ 2024-05-06 20:13 禁卫军 阅读(103) 评论(0) 推荐(0)
摘要: 问题:在VC中定义了一个函数 extern "C" __declspec(dllexport) int test(const char* filename) filename中可能有中文。 Lazarus调用test传英文没问题,传中文出错。 1、在VC项目设置-高级中 选择“使用 Unicode 阅读全文
posted @ 2024-03-19 20:24 禁卫军 阅读(181) 评论(0) 推荐(0)
摘要: YoloV4可以用opencv4.0以上加载和使用。但是Lazarus只能支持到opencv2.4.13。所以不能直接使用yolov4,后来只好用VC写了一个dll,调用Opencv4.81再调用YoloV4。 在Lazarus下调用这个dll就可以用yolov4了,方法如下 一、声明dll库 // 阅读全文
posted @ 2024-03-15 22:36 禁卫军 阅读(131) 评论(0) 推荐(0)
摘要: 一、在要回调的单元加一个回调类 type TMyCallback =procedure(X, Y: Integer;...其它参数) of object; 二、在单元 TMyClass=class()中加下面的回调过程变量 public FMyCallback: TMyCallback; 三、在要使 阅读全文
posted @ 2024-03-07 20:47 禁卫军 阅读(115) 评论(0) 推荐(0)
摘要: 在Opengl中显示字符多用Glut单元中的glutBitmapCharacter进行显示。这样有两个问题。 1、是不能显示汉字。 2、是要glut32.dll库支持。 通过研究可以不用Glut,只用其它的GL库就能实现中文显示 1、加入库 uses OpenGLContext, GL,glu; 2 阅读全文
posted @ 2024-03-04 11:52 禁卫军 阅读(93) 评论(0) 推荐(0)
摘要: 使用Lazarus调用Opencl对GPU进行操作运算。 1、硬件:CPU i5-7400,显卡1050。硬件比较老了。 2、运算内容:1024*1024个浮点数求平方。都运算10000次。 3、对比:GPU从加载硬件-编译C原核程序到运算完成1.325s,CPU单线程运算完成24.49s。如何按C 阅读全文
posted @ 2024-02-07 23:10 禁卫军 阅读(82) 评论(1) 推荐(1)
摘要: 一、在目标机上安装gdbserver服务。 运行 gdbserver :2345 你要调试的程序 二、编译gdb(重点) 1、下载gdb源,下载msys2-x86_64-20220118.exe。 2、安装msys2 3、到Msys2安装目录下运行mingw64.exe 4、安装以下包 pacman 阅读全文
posted @ 2024-01-31 21:55 禁卫军 阅读(288) 评论(1) 推荐(0)
摘要: 1、准备工作。从Lazarus安装目录中找到pcap.pp。加到工程中,并引用它。win下要安装WinPcap。 2、写一个读取数据的回调 function htons(hostshort: word): word;begin Result := ((hostshort and $00FF) shl 阅读全文
posted @ 2024-01-27 11:48 禁卫军 阅读(144) 评论(0) 推荐(0)
摘要: 1、打开LCLType单元。 2、把TUTF8Char = String[7];改成TUTF8Char = String; OK,重新编译就可以输入多个字的词组了。就这么简单。 阅读全文
posted @ 2024-01-12 11:21 禁卫军 阅读(50) 评论(0) 推荐(0)
摘要: 2025年6月27日更新 1、 PROJECT -> PROJECT OPTIONS -> RESOURCES(资源)中加资源信息。 2、加入引用LResources 3、加载资源 var rs: TResourceStream; resST:string; rs := TResourceStrea 阅读全文
posted @ 2024-01-11 20:55 禁卫军 阅读(214) 评论(0) 推荐(0)
摘要: Lazarus编译Loongarch64应用程序运行时报错,没找到目录或文件。主要是加载器的问题。 1、在Loongarch64系统中找到ld-xxx.so.x文件。多在/lib64目录下。如ld.so.1或是ld-linux-loongarch-lp64d.so.1等 2、在lazarus下的项目 阅读全文
posted @ 2024-01-06 12:48 禁卫军 阅读(491) 评论(2) 推荐(0)
摘要: 1、在{$mode objfpc}{$H+} 后加{$ModeSwitch ANONYMOUSFUNCTIONS} 2、例子 如 Application.QueueAsyncCall(procedure (Data:PtrInt) var i:Integer; begin i:=1;i:=2 end 阅读全文
posted @ 2024-01-04 09:50 禁卫军 阅读(73) 评论(0) 推荐(0)
摘要: 20250909更新 // 👇 定义一个空的信号处理过程(必须 cdecl!) procedure SignalSIGPIPEHandler(sig: longint); cdecl; begin // 什么也不做,表示“忽略” end; procedure SignalSIGHUPHandler 阅读全文
posted @ 2024-01-03 11:27 禁卫军 阅读(70) 评论(0) 推荐(0)
摘要: 用Lazarus自带的libQt5Pas.so无法通过编译。主要是在高于2.2.0版本的Lazarus时要用到libQt5Pas.so库要大于1.2.10才能编译。 方法一:到Release V1.2.15 · libqt5pas (github.com)下载对应操作系统与CPU的库文件。 方法二: 阅读全文
posted @ 2023-12-27 20:09 禁卫军 阅读(387) 评论(0) 推荐(0)
摘要: 以Linux _X86_64为例 一、删除LazarusFPC\cross\lib\x86_64-linux下的所有文件。 二、在Lazarus项目选项-编译器-配置和目标-选择Linux和X86-64。 三、编译项目。 1、会出现cannot find -lpthread: No such fil 阅读全文
posted @ 2023-12-21 21:29 禁卫军 阅读(283) 评论(3) 推荐(0)