Bonjour,
Dans ma form principale je fais les déclarations suivantes :Sans déclaration supplémentaire dans OnCreate pas de problème.Code:
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:
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:
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 ?