Bonsoir à tous,
Comme beaucoup de monde semblait emballé, je me suis décidé pour passer de la version 0.9.24 à la 0.9.26 sous Ubuntu 8.04. J'ai suivi la méthode des dépôts pour passer par synaptic. Jusque là pas de problème. Compilation en gtk2, un peu galère, mais bon, c'est fait. Tout content je sors un de mes programmes qui fonctionne parfaitement avec la version 0.9.24, mais maintenant j'ai plein de "Access Violation "
Je teste le code sous windows avec la version 0.9.26, et là pas de problème
Je fais quelque tests sous linux pour isoler le bug et là stupéfaction le bug ENORME! Je l'ai reporté sur le bug tracking bien sûr, mais je le signale ici aussi car j'aimerais bien une aide pour réparer sans attendre la version je ne sais combien:
Prenez une form avec une paintbox et un bouton, le code suivant:
va provoquer un joli "Access Violation". Changer psclear en pssolid et ça marche, sauf qu'on voit le bord du polygone et que je ne le voudrais pas. S'il y a beaucoup de personnes qui font du dessin avec Lazarus, elles vont être décues avec cette version!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 procedure TForm1.BitBtn1Click(Sender: TObject); var p:array of Tpoint; begin SetLength(p,3); p[0].x:=0; p[0].y:=0; p[1].x:=50; p[1].y:=0; p[2].x:=25; p[2].y:=50; with paintbox1.canvas do begin pen.style:=psclear; brush.style:=bssolid; brush.color:=clred; polygon(p) end; finalize(p); end;
Question: j'ai essayé de remonter les déclarations de la fonction polygon, mais je n'ai pas résussi à remonter assez haut pour trouver le bug. Quelqu'un s'y connait? (je suis sous linux gtk2)
Partager