Einzelnen Beitrag anzeigen

Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

Zugriffsverletzung bei Schleife

  Alt 16. Apr 2009, 11:17
Hallo zusammen,

ich sitze nun schon eine Ewigkeit an einem Problem. ICh habe folgenden Code:

Delphi-Quellcode:
function Extract(Text : string; WordPos : Word): string;
var
p : PChar;
begin
  p := PChar(Text);
  repeat
    Dec(WordPos);
    while p^ <> ':do
    begin
      if WordPos = 0 then
       Result := Result + p^;
      Inc(p);
    end;
    if WordPos = 0 then Exit;
    Inc(p);
  until p^ = ':';
end;

procedure TForm5.BitBtn1Click(Sender: TObject);
var
  Datei,Ziel:PChar;
  i:integer;
begin
  try
    if radiobutton1.Checked then begin
    Datei := pchar('http://lyricwiki.org/api.php?func=getSong&artist='+Edit1.Text+'&song='+edit2.Text+'&fmt=text');
    end;
    if radiobutton2.Checked then begin
    Datei := pchar('http://lyricwiki.org/api.php?func=getSong&artist='+Edit1.Text+'&song=&fmt=text');
    end;
      Ziel := pchar(extractfilepath(paramstr(0))+'List.txt');
      UrlDownloadToFile(nil, Datei, Ziel, 0, nil);
      Listbox1.Items.LoadFromFile(extractfilepath(paramstr(0))+'List.txt');
      Combobox1.clear;
    for I := 0 to Listbox1.items.Count - 1 do begin
       Combobox1.items.add(extract(Listbox1.Items[i],2)); // FEHLER nach einem Durchlauf
    end;
  except
    showmessage('Download abgebrochen');
  end;

end;
Dieser Code solleigentlich nichts anderes machen, als eine Ergebnisliste im *.txt Format auswerten. Die Ergebnisse
haben immer das Format Interpret:Titel. Ich möchte jetzt nur die Titel haben und verwende deswegen die Function Extract.
Leide ist genau bei dieser Schleife immer eine Zugriffsverletzung das Ergebnis. In der Combobox steht dann nur 1 Item.

Kann mir jemand sagen was ich falsch gemacht habe?

Danke!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat