unit uFormClient; {$mode objfpc}{$H+} interface uses SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, uTICSharedMemory; type // La structure qui sera échangée entre les deux applications TDatas = packed record Text: shortstring; Size: integer; Date: TDateTime; end; PDatas = ^TDatas; { TFormClient } TFormClient = class(TForm) Memo: TMemo; Timer1: TTimer; procedure FormCreate(Sender: TObject); procedure Timer1Timer(Sender: TObject); private FSMem: TTICSharedMemory; FPDatas: PDatas; public end; var FormClient: TFormClient; implementation {$R *.lfm} { TFormClient } procedure TFormClient.FormCreate(Sender: TObject); begin FSMem := TTICSharedMemory.Create('shmemtest', sizeof(TDatas)); FPDatas := FSMem.Pointer; end; procedure TFormClient.Timer1Timer(Sender: TObject); begin Memo.Lines.Add(DateTimeToStr(FPDatas^.Date)); Memo.Lines.Add(FPDatas^.Text); Memo.Lines.Add('Longueur:%d', [FPDatas^.Size]); end; end.