Bonjour à toutes et à tous!
Je tombe systématiquement sur un blocage du fichier compilé ET de Lazarus lorsque j'utilise un TOpenDialog du menu "Dialogs".
Lorsque je réalise en mode "débogage" un OpenDialog.Execute, la fenêtre habituelle de cet objet commence à s'ouvrir, puis stoppe, et Lazarus s'avère incapable de stopper la procédure en cours (je dois arrêter Lazarus via le gestionnaire de tâches. Il m'est arrivé aussi que celui-ci refuse mon ordre, voire se bloque).
Je précise que j'utilise un antivirus sérieux (Eset) et que j'ai vérifié la bécane: aucun virus détecté..
Pour tester au plus facile j'ai réalisé ce code ultra-banal:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; OD: TOpenDialog; procedure Button1Click(Sender: TObject); private public end; var Form1: TForm1; implementation {$R *.lfm} procedure TForm1.Button1Click(Sender: TObject); Var Temp: String; begin If OD.Execute Then Begin Temp:=OD.FileName; Edit1.Text:=Temp; Edit1.Repaint; end; end; end.
Vous avouerez qu'il n'y a guère plus basique..
Je propose ici une copie d'écran de ce qui se passe lorsque je clique sur le bouton "Button1":
![]()
J'utilise Windows 10 (22H2) & la dernière version de Lazarus (2.2.6, FPC 3.2.2) et ma foi ce genre d'erreur ne m'arrivais pas auparavant.
C'est énervant car je n'ose plus toucher à mes anciens codes utilisant un Opendialog..
PS: j'ai exactement la même erreur si j'utilise un TSaveDialog. : bogue dans la routine de fenêtrage qui doit être commune?
Merci à vous et bon dimanche!![]()
Partager