Bonjour à tous.
J'ai repris une unité que j'avais codée en 2014 sous Lazarus.
Compilation avec la version 1.6.4.
Pas d'erreur signalée, mais comportement anormal à l'exécution !
Comme cette unité comprend pas mal de procédures et fonctions, je passe un "certain" temps à tout vérifier...
pour localiser, après un temps "certain", le problème que je peux résumer comme ceci :
Width est évidemment pour moi la largeur de Form1.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 procedure TForm1.FormClick(Sender: TObject); var MyRect: TRect; begin with MyRect do begin //... //... if Right > Width then Right:= Width; end; end;
Mais voilà...
Travaillant sous Windows, le type TRect devient automatiquement un Windows.TRect (implémenté dans le fichier typshrdh.inc) qui est un record étendu avec la propriété Width !!!
Pourquoi cette modification ?
Si c'est encore pour la compatibilité avec Delphi, je trouve que les gens de Lazarus feraient mieux de se pencher sur des points qui sont vraiment à améliorer, notamment en graphisme !
Et en audio ! Toujours pas de procédure multi-platform pour entendre un petit "wav" de 2 secondes ?
Coup de gueule terminé.
Cordialement
Thierry
[EDIT]
De plus, cette propriété Width est à mon sens incorrecte : avec un R.Left = 0 et un R.Right = 9 --> Width = 9 !!!
Entre 0 et 9, il y a bien 10 pixels, non ?
Partager