Bonjour,
Dans ma form principale je fais les déclarations suivantes :Sans déclaration supplémentaire dans OnCreate pas de problème.
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 const MaxPixelCount = 65536; type TSegment = record Num : Integer; Code : String[4]; LMin,LMax,CMin,CMax,hMin,hMax: single; NbPix: integer; PerCent: single; LMean,CMean,hMean: single; Color: TColor; end; TSeg5x5x36= array[0..799] of TSegment; RGBTripleArray = array[0..MaxPixelCount-1] of TRGBTriple; pRGBTripleArray = ^RGBTripleArray; TMainForm = class(TForm)
Mais dés que j'initialise la structure tableau TSeg5x5x36 dans CreateForm je provoque une Over Stack error.
J'ai donc essayé de tracer le problème en éditant un fichier texte lors de l'initialisation du tableau avec le code suivant :L'erreur OverFlow apparait édition du fichier texte ou pas.
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 AssignFile(F,'TextFile.txt'); Rewrite(F); I:= 0; for L := 0 to 4 do for C := 0 to 4 do for H := 0 to 35 do begin S:= ''; fillChar(CurSeg[I],Sizeof(TSegment),#0); CurSeg[I].Num := I; S:= S+IntToStr(I)+#9; CurSeg[I].Code:= IntToStr(L)+IntToStr(C)+ Tools_LeftJustifyZero(IntToStr(H),2); S:= S+CurSeg[I].Code+#9; CurSeg[I].LMin:= L*20; S:= S+FloatToStrF(CurSeg[I].LMin,ffFixed,5,0)+#9; CurSeg[I].LMax:= Succ(L)*20; S:= S+FloatToStrF(CurSeg[I].LMax,ffFixed,5,0)+#9;; CurSeg[I].CMin:= C*20; S:= S+FloatToStrF(CurSeg[I].CMin,ffFixed,5,0)+#9; CurSeg[I].CMax:= Succ(C)*20; S:= S+FloatToStrF(CurSeg[I].CMax,ffFixed,5,0)+#9; CurSeg[I].hMin:= H*10; S:= S+FloatToStrF(CurSeg[I].HMin,ffFixed,5,0)+#9; CurSeg[I].hMax:= 10+H*10; S:= S+FloatToStrF(CurSeg[I].HMax,ffFixed,5,0); WriteLn(F,S); Inc(I); end; CloseFile(F);
Dès la première ligne du fichier texte je constate une anomalie sur la dernière colonne du tableauet de surcroît le tableau devrait comprendre 899 lignes et il s'arrête à la 896ème !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 0 0000 0 20 0 20 0 1E2 1 0001 0 20 0 20 10 1.1E2 2 0002 0 20 0 20 20 1.2E2 3 0003 0 20 0 20 30 1.3E2 4 0004 0 20 0 20 40 1.4E2 5 0005 0 20 0 20 50 1.5E2 6 0006 0 20 0 20 60 1.6E2 7 0007 0 20 0 20 70 1.7E2 8 0008 0 20 0 20 80 1.8E2 9 0009 0 20 0 20 90 1.9E2
Quelqu'un peut-il venir à mon secours ?
Partager