在Delphi中,我使用" Libby的pipes.pas"这个单位https://micksmix.wordpress.com/2011/06/27/named-pipes-unit-for-delphi/
我能够与另一个进程通信,当我想传递多个参数时,我的问题出现了,并且大小不固定。 想要写1个字节数组加2个双字。 在服务器中我应该猜测第一个参数的长度?我不这么认为。希望那些一直在搞乱这个单位的人会知道如何以正确的方式指出我。
提前致谢。
procedure SendDatapipe(buf:TArray<Byte>;tipe,siz:dword);
begin
if FClient1=nil then begin
FClient1 := TPipeClient.CreateUnowned;
FClient1.PipeName := 'PipeServer';
if FClient1.Connect=False then
FClient1:=nil;
end;
if (FClient1<>nil) and (FClient1.connected=FALSE) then
FClient1.Connect;
if (FClient1<>nil) and (FClient1.connected) then
FClient1.Write(buf[0], Length(buf));
//WHAT ELSE?
FClient1.FlushPipeBuffers;
FClient1.Free;
end;
我注意到FClient1.Write也可以使用&#34; PRefix&#34;,我不确定这是否是我正在寻找的。 p>