Lazarus使用IPC收發訊息

禁卫军發表於2024-07-23

使用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;

相關文章