Bonsoir,
Je cherche de puis quelques jours la solution au problème suivant:
Le projet Project1.exe a déclenché la classe d'exception EAccessViolation avec le message 'Violation d'accès à l'adresse 00409318 dans le module 'Project1.exe'. Lecture de l'adresse 00000004'.
Le but de la manip est de récupérer le nom des fichier d'un dossier "Images" et de les copier sur un ListBox. Jusque la tout va bien. Mais lorsque je clique sur le bouton qui permet d'affecter .jpg aux Timages j'ai donc le message d'erreur précédent.
Voilà les 2 parties de mon code:
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 procedure TForm1.FormCreate(Sender: TObject); var n : Integer; F: TSearchRec; begin n:=FindFirst('C:\Users\Michel\Desktop\MEMORY\images\*.jpg',faAnyfile,F); ListBox1.Items.Add(F.FindData.cFileName); repeat begin n:=FindNext(F); if n=0 then begin ListBox1.Items.Add(F.FindData.cFileName); end; end; until n<>0 ; FindClose(F); end;J'ai fait du pas à pas et l'erreur apparaît tout à la fin de la procédure "Button1Click".
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 procedure TForm1.Button1Click(Sender: TObject); var i,k,j : Integer; tab:TMyArray; begin j:=1; k := 1; while k<7 do begin tab[k]:= j; tab[k+1]:= j; inc(j,1); inc(k,1); end; MixArray(tab); for i := 1 to 6 do begin ListBox2.Items.Strings[i-1]:= IntToStr(Tab[i]); end; Image1.Picture.LoadFromFile('C:\Users\Michel\Desktop\MEMORY\images\'+ListBox1.Items.Strings[tab[1]-1]); Panel1.Visible := true; Panel1.Caption := ListBox1.Items.Strings[tab[1]-1]; Image2.Picture.LoadFromFile('C:\Users\Michel\Desktop\MEMORY\images\' + ListBox1.Items.Strings[tab[2]-1]); Panel2.Visible := true; Panel2.Caption := ListBox1.Items.Strings[tab[2]-1]; Image3.Picture.LoadFromFile('C:\Users\Michel\Desktop\MEMORY\images\' + ListBox1.Items.Strings[tab[3]-1]); Panel3.Visible := true; Panel3.Caption := ListBox1.Items.Strings[tab[3]-1]; Image4.Picture.LoadFromFile('C:\Users\Michel\Desktop\MEMORY\images\' + ListBox1.Items.Strings[tab[4]-1]); Panel4.Visible := true; Panel4.Caption := ListBox1.Items.Strings[tab[4]-1]; Image5.Picture.LoadFromFile('C:\Users\Michel\Desktop\MEMORY\images\' + ListBox1.Items.Strings[tab[5]-1]); Panel5.Visible := true; Panel5.Caption := ListBox1.Items.Strings[tab[5]-1]; Image6.Picture.LoadFromFile('C:\Users\Michel\Desktop\MEMORY\images\' + ListBox1.Items.Strings[tab[6]-1]); Panel6.Visible := true; Panel6.Caption := ListBox1.Items.Strings[tab[6]-1]; Button1.Visible := false; end;
Merci de votre aide,
Cordialement.
Partager