Mam prosty kodzik, po kliknieciu na listboxie powinny sie w labeleditach wyswietlac odpowiednie rekordy, ale w tym momencie program robi zwis, czyzby inaczej sie w lazarusie z rekordów korzystało?
Deklaracja tablicy rekordów:

    type
  TDane = record
    NumerIndexa: Integer;
    AdresatPelny: String;
    Nazwisko: string;
    NazwiskoBlad: Boolean;
    Imie: string;
    ImieBlad: Boolean;
    PESEL: string;
    PESELBlad: Boolean;
    DataUr: string;
    DataUrBlad: Boolean;
    Ojciec: string;
    OjciecBlad: Boolean;
    Matka: string;
    MatkaBlad: Boolean;
    Adres: String;
    AdresBlad: Boolean;
    Paczka: string;
    end;

var
  Form1: TForm1;
  TablicaDanych: array of TDane;

Zdarzenie OnClick ListBoxa:

procedure TForm1.ListBoxAdresatClick(Sender: TObject);
begin

ComboBox1.ItemIndex:=TablicaDanych[ListBoxAdresat.ItemIndex].NumerIndexa;
LabeledEditImie.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].Imie;
LabeledEditNazwisko.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].Nazwisko;
LabeledEditPESEL.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].PESEL;
LabeledEditDU.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].DataUr;
LabeledEditOjciec.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].Ojciec;
LabeledEditMatka.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].Matka;
LabeledEditAdres.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].Adres;
LabeledEditPaczka.Text:=TablicaDanych[ListBoxAdresat.ItemIndex].Paczka;
LabeledEditData.Text:=ListBoxData.Items[ListBoxData.Itemindex];

{bledy}
CheckBox1.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].NazwiskoBlad;
CheckBox2.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].ImieBlad;
CheckBox3.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].PESELBlad;
CheckBox4.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].DataUrBlad;
CheckBox5.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].OjciecBlad;
CheckBox6.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].MatkaBlad;
CheckBox7.Checked:=TablicaDanych[ListBoxAdresat.ItemIndex].AdresBlad;
{koniec bledow}
end;

A tutaj zdarzenie buttona (wprowadzanie danych do tablicy rekordów), cos czuje ze tutaj moze tkwic błąd:

procedure TForm1.ButtonDodajClick(Sender: TObject);
var
ostatni: Integer;
begin
ListBoxNumer.Items.Add(' ');
ListBoxData.Items.Add(LabeledEditData.Text);
ListBoxAdresat.Items.Add(ComboBox1.Items[ComboBox1.ItemIndex]);
ListBoxKogo.Items.Add(LabeledEditNazwisko.Text+' '+LabeledEditImie.Text);
  SetLength(TablicaDanych, Length(TablicaDanych)+1);
    with TablicaDanych[Length(TablicaDanych)-1] do
    begin
    NumerIndexa:= ComboBox1.ItemIndex;
    Nazwisko := LabeledEditNazwisko.Text;
    Imie := LabeledEditImie.Text;
    PESEL := LabeledEditPESEL.Text;
    DataUr := LabeledEditDU.Text;
    Ojciec := LabeledEditOjciec.Text;
    Matka := LabeledEditMatka.Text;
    Adres := LabeledEditAdres.Text;
    Paczka := LabeledEditPaczka.Text;
    end;
    {dodawanie bledow}
    ostatni:=High(TablicaDanych);
    TablicaDanych[ostatni].NazwiskoBlad:=CheckBox1.Checked;
    TablicaDanych[ostatni].ImieBlad:=CheckBox2.Checked;
    TablicaDanych[ostatni].PESELBlad:=CheckBox3.Checked;
    TablicaDanych[ostatni].DataUrBlad:=CheckBox4.Checked;
    TablicaDanych[ostatni].OjciecBlad:=CheckBox5.Checked;
    TablicaDanych[ostatni].MatkaBlad:=CheckBox6.Checked;
    TablicaDanych[ostatni].AdresBlad:=CheckBox7.Checked;
    {koniec bledow}
end;