Bonjour,
je ne suis pas certain d'être dans la bonne rubrique, mais vu que mon problème concerne une application écrite avec le Framework Firemonkey, je le mets ici.
Voilà, j'ai une application écrite en Firemonkey dans laquelle parfois j'obtiens une violation d'accès. Le message apparaît de façon aléatoire et je n'arrive pas à déterminer une corrélation (il peut aussi être fréquent, comme il peu se passer plusieurs jours sans qu'il n'apparaisse).
Il apparaît sur un OnTimer, je ne sais pas lequel pourrait être concerné et mes différents debug n'ont rien donné. De plus, chose étrange, la pile d'appel ne mentionne aucune provenance d'une procédure propre à mon application :

En déboguant j'ai pu voir que le message apparaît sur cette instruction de l'unité FMX.Forms.Border.Win :
1 2 3 4 5 6 7 8 9 10 11
| procedure TWinWindowBorderEx.MouseLeaveCheckHandler(Sender: TObject);
var
CursorPixel: TPoint;
begin
GetCursorPos(&CursorPixel);
if WindowFromPoint(CursorPixel) <> Wnd then <-- cette ligne
begin
FMouseLeaveTimer.Enabled := False;
MouseLeave;
end;
end; |
or cette méthode est une méthode provenant d'une dll (unit WinApi.Windows) :
function WindowFromPoint; external user32 name 'WindowFromPoint';
Et LE gros problème c'est que l'application boucle infiniment sur ce message... Je suis donc obligé de tuer l'application et la relancer, ce qui est plutôt gênant.
Quelqu'un aurait rencontré ce genre de problème ou aurait une piste à me donner ? Parce que là je sèche un peu.
Merci pour votre attention
@++
Dany
P.S. : précision : je travaille avec Delphi 11.3
Partager