摘要:
一、在要回调的单元加一个回调类 type TMyCallback =procedure(X, Y: Integer;...其它参数) of object; 二、在单元 TMyClass=class()中加下面的回调过程变量 public FMyCallback: TMyCallback; 三、在要使
阅读全文
posted @ 2024-03-07 20:47
禁卫军
阅读(151)
推荐(0)
摘要:
在Opengl中显示字符多用Glut单元中的glutBitmapCharacter进行显示。这样有两个问题。 1、是不能显示汉字。 2、是要glut32.dll库支持。 通过研究可以不用Glut,只用其它的GL库就能实现中文显示 1、加入库 uses OpenGLContext, GL,glu; 2
阅读全文
posted @ 2024-03-04 11:52
禁卫军
阅读(144)
推荐(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
禁卫军
阅读(121)
推荐(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
禁卫军
阅读(385)
推荐(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
禁卫军
阅读(185)
推荐(0)
摘要:
1、打开LCLType单元。 2、把TUTF8Char = String[7];改成TUTF8Char = String; OK,重新编译就可以输入多个字的词组了。就这么简单。
阅读全文
posted @ 2024-01-12 11:21
禁卫军
阅读(80)
推荐(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
禁卫军
阅读(278)
推荐(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
禁卫军
阅读(588)
推荐(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
禁卫军
阅读(106)
推荐(0)
摘要:
20250909更新 // 👇 定义一个空的信号处理过程(必须 cdecl!) procedure SignalSIGPIPEHandler(sig: longint); cdecl; begin // 什么也不做,表示“忽略” end; procedure SignalSIGHUPHandler
阅读全文
posted @ 2024-01-03 11:27
禁卫军
阅读(103)
推荐(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
禁卫军
阅读(541)
推荐(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
禁卫军
阅读(889)
推荐(0)
摘要:
ZJson:TJSONObject; arrJson:TJSONArray; subjson:TJSONObject; ZJson:=TJSONObject(GetJSON('.....Json字符串....')); //后面json变量的都不能用创建,否则会无法释放内存 //以前用了arrJson
阅读全文
posted @ 2023-12-21 11:09
禁卫军
阅读(451)
推荐(0)
摘要:
1、在线程中改UI TThread.Synchronize(Nil,procedure begin Form1.Label12.Caption:='共'+IntToStr(zs)+'张图片,正在处理第'+IntToStr(i)+'张'; end); 2、在子程中改UI Application.Que
阅读全文
posted @ 2023-12-20 20:18
禁卫军
阅读(133)
推荐(0)
摘要:
1、安装UniqueInstance组件(可下载包安装,也可以在线安装)2、在窗口中加TUniqueInstance控件。在system的选项卡下,一个红色1的控件3、设置TUniqueInstance的enabled为真4、在UniqueInstance1OtherInstance事件中加处理程序
阅读全文
posted @ 2023-12-19 20:06
禁卫军
阅读(201)
推荐(0)
摘要:
比如登录系统用的是Myname这个用户。而后又用su进入root用户后,如果没有退出root就运行所开发的程序,可能中文输入法无法调用。 可以写以下程序判断是否登录用户与当前运行用户是否一致。 type ptpasswd = ^tpasswd; cint=LongInt; tpasswd = rec
阅读全文
posted @ 2023-12-19 20:00
禁卫军
阅读(151)
推荐(0)
摘要:
如果您的 Indy 应用程序中存在内存泄漏,那是因为您使用了 IdStack 或 IdThread 单元,或者依赖于它们的组件。这是设计使然,在 Delphi 中,通过向内存管理器注册泄漏来抑制泄漏报告。此功能不适用于 Free Pascal,但您可以删除故意的内存泄漏。在文件 IdCompiler
阅读全文
posted @ 2023-12-19 19:50
禁卫军
阅读(187)
推荐(0)