Thema: Delphi AV bei dynamischen Array

Einzelnen Beitrag anzeigen

jaschu

Registriert seit: 21. Mär 2005
38 Beiträge
 
#1

AV bei dynamischen Array

  Alt 30. Sep 2005, 18:41
So, habe mal mein Problem von 2 Threads weiter unten stark vereinfacht.
Bei Hinzufügen eines Strings tritt eine Zugriffsverletzung auf, wenn man das Programm schließt.

Delphi-Quellcode:

unit tmp3list;

interface

type
  dsatz = record
            t0 : String[200];
            t1, t2 : Integer;
          end;
  mp3list = class
              private
                items : array of Dsatz;
                function getcount : Integer;
              public
                property count: Integer read GetCount;
                procedure addsingle(str : String);
                procedure readsingle(pos : Integer; var str : String);
                procedure new;
             end;
implementation


function mp3list.getcount : Integer;
begin
  result := length ( items );
end;

procedure mp3list.addsingle(str : String);
begin
  setlength(items, length(items)+1);
  items[length(items)].t0 := str;
end;

procedure mp3list.readsingle(pos : Integer; var str : String);
begin
  str := items[pos].t0;
end;

procedure mp3list.new;
begin
  setlength(items, 0);
end;
end.
Aufruf:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var test : mp3list;
begin
  test.Create;
  test.new;
  test.addsingle('bla');
  showmessage(inttostr(test.count));
end;
Projekt: Klick

Weiß jetzt hier jemand Rat?

Danke schonmal und nen schönen Abend noch!

Jaschu
  Mit Zitat antworten Zitat