Einzelnen Beitrag anzeigen

RedShakal
(Gast)

n/a Beiträge
 
#1

kurze Frage zu Listview und Programmabsturz

  Alt 11. Sep 2009, 19:59
Hallo, ich verwende in meinem Programm eine Listview. Immer wenn ein Eintrag angeklickt wird, wird ein Bild von einem Server geladen und in TImage angezeigt. Dabei stehe ich aber leider vor einem Problem:

Wenn ich die Procedure ListviewClick aufrufe, funktioniert zwar alles Prima, aber sobald man auf eine Leere Spalte klickt, stürzt das Programm mit einem Memory Access Fehler ab.

Wenn man das gleiche mit der Procedure OnSelectItem macht, passiert der Fehler zwar nicht wenn man in eine leere Spalte klickt, aber er kommt sobald man das 2te mal einen Eintrag auswählen will. D.h. Wenn man das erste mal Klickt funktioniert alles Super. Klickt man das 2te mal etwas an, Crasht das Programm.

Ich poste einfach mal den Codefetzen, vielleicht weiß ja irgentwer woran es liegen könnte.

Delphi-Quellcode:
procedure TForm3.MaplistSelectItem(Sender: TObject; Item: TListItem;
  Selected: Boolean);
var
  Stream : TFileStream;
begin
  Maplist.Enabled := false; // soll verhindern das geklickt wird während ein Download läuft. ( Programmabsturz )
  Stream := TFileStream.Create(Maplist.Selected.Caption+'.png', fmCreate); // Cache erstellen ( Windows Temp führt bei Vista zu Problemen ka wieso )
  Downloadstatus.Get('http://***/'+Maplist.Selected.Caption+'.png', Stream); // Dateidownload
  Stream.free;
  Minimap.Picture.LoadFromFile(Maplist.Selected.Caption+'.png'); // Cache laden
  deletefile(Maplist.Selected.Caption+'.png'); // Nach dem Laden löschen
  Maplist.Enabled := true; // Eintrag wieder freigeben
end;
Maplist = Listview
Minimap = TImage
Downloadstatus = IdHttp

Hoffe mir kann jemand helfen
  Mit Zitat antworten Zitat