Bonjour à toutes et à tous,

En recompilant sous Lazarus 1.6.4 un programme développé avec Lazarus 1.2.4 et plus ancien, je rencontre un problème avec PostMessage. Voilà la partie concernée :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
procedure TBase.SimulationSortie(NbAff: Integer);
begin
  try
    ProgressSimul:= TProgressSimul.Create(Self);
    PostMessage(ProgressSimul.Handle, cp_Simulation, NbAff, 0);
    ProgressSimul.ShowModal;
  finally
    Screen.Cursor:= crDefault;
    ProgressSimul.Free;
  end;
end;
PostMessage doit normalement lancer la procédure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
    procedure Simulation(var message: TMessage); message cp_Simulation;
En plaçant un point d'arrêt dans cette procédure, je m'aperçois qu'elle n'est pas activée.

Je remplace le PostMessage par un SendMessage, cette fois, la procédure est lancée, mais la suite reste bloquée au "ProgressSimul.ShowModal.

Une idée du problème ?

Cordialement.

Pierre