Bonjour,
J'ai modifié un programme compilé avec des versions plus anciennes de Lazarus avec la 1.6.2 et je m'en mords les doigts, le problème exposé ci-dessous survient tout autant avec la 1.6.4 et le svn du jour de la 1.6.8:
J'ai cette fonction:
Tant qu'elle est utilisée seule ça marche mais lorsque je lui fait un appel avant d'utiliser celle-ci:
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 Function PopUp_Yes_No ( FWin:TForm; Mess:String ):Boolean; Begin //showmessage('1'); FPopup_Yes_No:=TFPopup_Yes_No.Create(NIL); // Créer une fenetre de confirmation Oui/Non. //showmessage('2'); FPopup_Yes_No.Top:=FWin.Top+((FWin.Height-FPopup_Yes_No.Height) div 2); FPopup_Yes_No.Left:=FWin.Left+((FWin.Width - FPopup_Yes_No.Width) div 2); With FPopup_Yes_No do begin // Positionner la fenêtre popup. L_Mess.Caption:=Mess; ShowModal; result:=SB_OK.Tag=1; free; end; end;
Et que je l'appelle à nouveau pour demander si les fiches exportées doivent être effacées de la table d'origine j'ai ça dans le terminal au moment du create. même chose si je fais un if assigned ():
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54 Procedure Set_PopUp_Export_Dbf ( W_Parent:TForm; T_Name:String; Typ_Export:Integer); // Pop up radio boutons pour export DBF. Begin F_Popup_Rb:=TF_Popup_Rb.Create(NIL); // Créer une fenetre de radio boutons avec les options de conversion de chaines. With F_Popup_Rb do begin // Positionner la fenêtre popup pour les options d'export. Top:=W_Parent.Top+20;; Left:=( W_Parent.Left+(W_Parent.Width div 2)-(F_Popup_Rb.Width div 2)); Top:=(W_Parent.Top+(W_Parent.Height div 2)-(F_Popup_Rb.Height div 2)); Width:=229; L_Table.Caption:=T_Name; Caption:='Exporte vers '; case Typ_Export of 0: Begin With F_Popup_Rb.RG_PopUp do begin // Initialiser popup pour export DBF. L_Table.Caption:=L_Table.Caption+' => DBF'; Caption:='Options Export'; Items.Add('Abandonner'); Items.Add('Ajouter dans la table'); Items.Add('Remplacer la Table'); ItemIndex:=0; Rg_PopUp_Memo.visible:=False; end; end; 1: Begin With F_Popup_Rb.RG_PopUp do begin // Initialiser popup pour export DBF. L_Table.Caption:=''; Caption:='Options'; Items.Add('Choisir et ouvrir'); Items.Add('Choisir et copier'); Items.Add('Choisir et déplacer'); Items.Add('Copier tout'); Items.Add('Déplacer tout'); Items.Add('Abandonner'); ItemIndex:=0; Rg_PopUp_Memo.visible:=False; end; end; 2:Begin With F_Popup_Rb.RG_PopUp do begin L_Table.Caption:=L_Table.Caption+' => CSV'; Items.Add('Pas de conversion'); Items.Add('UTF8 => Ansi'); Items.Add('UTF8 Encode'); Items.Add('UTF8 Decode'); Items.Add('ANSI => Utf8'); ItemIndex:=0; end; end; end; end; end; // Note: Le free est à la fin de la fonction d'export.
Et je ne me l'explique pas du tout ? Je suis toujours en FPC 3.0.0 mais je ne pense pas que ça vienne de là.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 TApplication.HandleException Access violation Stack trace: $00000000004D2A6D $000000000081EE53 $00000000008B5CA8 $00000000008248F3 $0000000000505854 $00000000005060AA $000000000042229F $0000000000567855 $0000000000675C41
Partager