首页 > 其他分享 >Lazarus使用IPC收发消息

Lazarus使用IPC收发消息

时间:2024-07-23 18:43:22浏览次数:12  
标签:IPC SimpleIPCClient1 收发 SimpleIPCServer1 Lazarus 消息 mytype True

使用IPC收发消息可以在Windows和Linux下通用。其它系统没测试。

1、在system选项卡中选择TSimpleIPCServer和TSimpleIPCClient加到窗口中

SimpleIPCClient1: TSimpleIPCClient;
SimpleIPCServer1: TSimpleIPCServer;

2、设置参数

SimpleIPCServer1中设置:

Global、Threaded、Active为True,Threaded在win下不设置也可以,但在Linux下不设置成True无法触发onMessageQueued事件

ServerID 为1234 这个要与SimpleIPCClient1中的一样

SimpleIPCClient1中设置为

ServerID 为1234

Active为True

3、发送消息

SimpleIPCClient1.SendStringMessage(1,'有新消息');

4、接收消息

双击SimpleIPCServer1的onMessageQueued加事件

procedure TForm1.SimpleIPCServer1MessageQueued(Sender: TObject);

var
Temp:String;
mytype:Integer;
begin
//有消息来,要先读取
SimpleIPCServer1.ReadMessage;
Temp:=SimpleIPCServer1.StringMessage;
mytype:=SimpleIPCServer1.MsgType;
if mytype=1 then
begin
//消息处理
Exit;
end;
end;

标签:IPC,SimpleIPCClient1,收发,SimpleIPCServer1,Lazarus,消息,mytype,True
From: https://www.cnblogs.com/jwjss/p/18319300

相关文章

  • IPC进程间通信2
    今日内容signalkill用alarm模拟输入与超时用alarm模拟sleep共享内存--读出端内存共享--写入端......
  • 双LIN收发器TJA1022(NXP)
    一、简述TJA1022支持2路LIN(LocalInterconnectNetwork),波特率高达20Kbd,符合LIN2.0、LIN2.1、LIN2.2、LIN2.2A、ISO17987-4:2016(12VLIN)和SAEJ2602规范。TJA1022T和TJA1022TK(SO14/HVSON14封装)与TJA1020、TJA1021、TJA1027和TJA1029引脚兼容; TJA1022HG(DHVQFN24封装)与......
  • 高速收发器:PHY层笔记(一)
    笔记:高速收发器的数据位宽通常有:2,4,8字节等;PCIE喜欢的位宽是1DW=4Byte;这里对高速收发器的设计为4Byte也就是32位宽;GT中PHY层的字对齐和掩码处理高速收发器的数据流以SOT开始(和MIPI一样),GT的SOT一般就是K码,标志了开始,其也具有EOT,标志了结束;但与MIPI有很大的不同,GT的K码可......
  • Gt收发器控制代码和细节(一)
    复位需求:DESCRIPTION在7系列FPGAGTX/GTH/GTP收发器中,GTTXRESET和GTRXRESET在配置时应默认为低电平,在配置完成后过一段时间再设置为高电平。SOLUTION配置时,必须以顺序模式启动GTTXRESET和GTRXRESET,也就是说RESETOVRD=1'b0而GTRESETSEL=1'b0。如果......
  • 为了Python换源,我开发了一个库「pipco 0.0.19」
    你好,我是悦创。有时候某个源又出问题,或者频繁切换源。我就想开发一个库可以切换的,链接:https://pypi.org/project/pipco/库是开源的,可以自行学习或者使用。使用方法:安装pipinstallpipco查看帮助pcohelp当你需要使用Python时,Pip是一个非常重要的工具,它用于安......
  • socket 收发TCP/UDP
    一、c++个人测试记录,有问题还请指出,谢谢参考:C++开发基础之网络编程WinSock库使用详解TCP/UDPSocket开发_c++udp使用什么库-CSDN博客代码中Logger测试见文章: c++中spdlog的使用/python中logger的使用-CSDN博客1、main.cpp收发TCP信号:#include<iostream>#include<thr......
  • Lazarus 将LNET封装到DLL中
    最近工作中有个要求SOCKET的功能,想将一个通信功能做得简单一点。发现LNET非常方便,所以对它研究了一下。LNET有两种类型,可视化和非可视化。做WINDOWS下一般都是用可视化的。用于LINUX和WINCE,必须用非可视化的。我要将它封装成DLL的话,必须用非可视化的。DLL代码如下:librarypro......
  • F103VET6+HAL库+UART串口空闲中断+DMA收发数据
    声明串口接收一段数据需要进入中断的次数太多了,为了充分利用CPU,使用空闲中断是更好的选择步骤一、CubeMX生成有关串口的配置串口全局中断勾上、DMA和DMA的中断勾上二、在main函数里使能两个串口的中断        第一个空闲中断、第二个接收寄存器不为空中断(后面解......
  • lazarus 线程1
    标准线程用法TypeTAnalyzedataThread=class(TThread)privateprocedureDoProcedure;protectedprocedureExecute;override;publicConstructorCreate(CreateSuspended:boolean);end;constructorTAnalyzedataThread.Create(CreateSuspended:boolean);beginFree......
  • 调试 hipcc 的llvm llc gpu目标代码生成模块
    源码:hello_vectorAdd.hip:__global__voidvectorAdd(constfloat*A,constfloat*B,float*C){inti=blockDim.x*blockIdx.x+threadIdx.x;C[i]=A[i]+B[i]+0.0f;}Makefile:x.O1.s:hello_vectorAdd.hip ../../local_amdgpu/bin/clang++./he......