Je passe un objet par message au sein de la même application:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  SendMessage(MonHandle,WM_MonMessage,Integer(MonObjet),0);
Mon problème est la récupération dans une form par exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
procedure TfForm1.MessageAddMonObject(var M: TMessage);
begin
  try
    if (M.WParam > 0) and (M.LParam = 0) then
    begin      
      AddMonObject(TMonObject(M.WParam));
    end;
  except
    // A finaliser
  end;
end;
Etant donné que je n'ai pas trouvé d'autre solution que de transtyper M.WParam en TMonObject, les tests Assigned, is TMonObject sont toujours vrai.

Auriez-vous une idée pour traiter le cas où un message est envoyé par une autre application (et du coup pas le même espace mémoire) pour vérifier la validité de TMonObject(M.WParam).

En espérant avoir été assez clair

Merci