Problème de violation d'accès avec Array
Bonjour,
J'ai un souci dans mon programme et je n'arrive pas à utiliser
les tableaux (arrays) car j'ai une erreur sur violation d'accès
à chaque fois que je veux dimensionner Ptab1^.
J'ai utilisé SetLength(Ptab1^,0) pour initialiser, cela ne marche pas,
idem quand j'essaie de remplir les champs dans un array.
Voici mon code :
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 31 32 33 34 35 36 37 38 39
|
Ttab1 = record
id_PTxt: string;
id_DefIndex: string;
sDefIndex: string;
id_SubIndex: string;
sSubIndex: string;
valSubIndex: string;
end;
PPTxt = ^Ttab1;
TabIPTxt = Array of Ttab1;
PPTxts = ^TabIPTxt;
var
sValEnv,sTxtEnvoi,sValEnv2,sTxtEnvoi2,elt,idPTxt,parSel:string;
iPT,CptPT:integer;
Ptab1: PPTxts;
Begin
CptPT := 0;
Repeat
With Ptab1^[CptPT+1] Do
Begin
id_PTxt:=form1.StringGrid5.cells[0,iPT];
id_DefIndex:=form1.StringGrid5.cells[1,iPT];
sDefIndex:=form1.StringGrid5.cells[2,iPT];
id_SubIndex:=form1.StringGrid5.cells[1,iPT];
sSubIndex:=form1.StringGrid5.cells[1,iPT];
alSubIndex:=form1.StringGrid5.cells[1,iPT];
End;
elt := stringgrid5.cells[6,iPT]+' : '+stringgrid5.cells[5,iPT];
form2.ComboBox1.AddItem(elt,Sender);
inc(iPT,1);
inc(CptPT,1);
Until(form1.stringgrid5.cells[0,iPT]<>idPtab1); |
L'erreur intervient à la ligne "With Ptab1^[CptPT+1] Do"
Pouvez-vous m'apporter votre aide svp ?
Merci.