Bonjour à toutes et à tous,

Pour faire suite à cette discussion, je veux échanger entre deux applications graphiques en utilisant les composants "SimpleIPC Server et Client".

J'ai réussi à faire cet échange si je lance séparément chacune des applications A et B.

Maintenant, l'application A qui doit recevoir des données de B lance l'application B via un TProcess. Et bien, cela ne fonctionne plus.

L'application A (Le serveur est lancé dans le Create):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
procedure TFntrBase.SimpleIPCServerMessage(Sender: TObject);
var
  s: String;
begin
  s:= SimpleIPCServer.StringMessage; // Réception du message de B
end;

procedure TFntrBase.ScruteClickTimer(Sender: TObject);
var
  Proc: TProcess;
begin
...
  begin
    try
      Proc := TProcess.Create(nil);
      Proc.Options:= Proc.Options+[poWaitOnExit];
      Proc.Executable := 'C:\lazarus124\Projets_ChP\ConcatMap\CoordPoint\CoordPoint.exe'; // L'application B
      Proc.Execute();
    finally
      Proc.Destroy;
    end;
  end;
end;
L'application B :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
procedure TForm1.ValiderClick(Sender: TObject);
begin
  with SimpleIPCClient do
  begin
    Connect;
    SimpleIPCClient.SendStringMessage(FloatToStr(Lat)+';'+ FloatToStr(Lon));
    DisConnect;
  end;
  Application.Terminate;
end;
Une idée du pourquoi du comment ?

Cordialement.

Pierre