[Lazarus] Problem growing an array
appjaws
lazarus at appjaws.plus.com
Fri Jan 25 16:55:12 CET 2013
Hi,
Could one of you experts look at my code please.
My program crashes after the first set of strings are added because -- I
think -- the length is not updating.
The following is just a snipet.
type
Detail = record
Extra1, Extra2, Extra3, Extra4, Extra5, Extra6, Extra7, Extra8 :string
end;
var
Form1: TForm1;
head : array [0..7] of string = ('Extra1', 'Extra2', 'Extra3',
'Extra4','Extra5', 'Extra6', 'Extra7', 'Extra8');
x : integer;
y : integer;
z : integer;
w : integer;
currentLength : integer;
collection : array of Detail;
information : array of array of string;
procedure TForm1.MenuItemInputClick(Sender: TObject);
//initial setup
begin
SetLength(collection,1);
SetLength(information,8,1);
end;
procedure TForm1.ButtonNextClick(Sender: TObject);
begin
// extend array lengths
if Length(collection) < (y+1)then
begin
SetLength(collection, y+1);
SetLength(information[x],y+1);
end;
// load array
information[0,y] := TEdit1.Text;
information[1,y] := TEdit2.Text;
information[2,y] := TEdit3.Text;
information[3,y] := TEdit4.Text;
information[4,y] := TEdit5.Text;
information[5,y] := TEdit6.Text;
information[6,y] := TEdit7.Text;
information[7,y] := TEdit8.Text;
//display aray lenghts
z := (Length(collection));
LabelResult.Caption := inttostr(z);
w := (Length(information));
LabelResult1.Caption := inttostr(w);
//write to listbox
for x := 0 to 7 do
begin
ListBox1.Items.Add(head[x] + ' ' + information[x,y] + ' ');
end;
//clear edit boxes
TEdit1.Text := ' ';
TEdit2.Text := ' ';
TEdit3.Text := ' ';
TEdit4.Text := ' ';
TEdit5.Text := ' ';
TEdit6.Text := ' ';
TEdit7.Text := ' ';
TEdit8.Text := ' ';
y := y + 1
end;
After the first set of strings are added, I get this error message:-
Project protection raised exception class 'External: SIGSEGV'.
I'm sure it's just me not understanding how arrays should be manipulated,
Look forward to any help
Paul
--
---This message has been sent using Thunderbird on kubuntu---
More information about the Lazarus
mailing list