Einzelnen Beitrag anzeigen

Karsten

Registriert seit: 5. Sep 2003
56 Beiträge
 
Delphi 6 Personal
 
#11

Re: TStringList und Add-/InsertObject (Verständnisprobleme)

  Alt 7. Sep 2003, 23:05
Danke, das ist soweit genau das was ich wollte. Vor allem leicht wartbar wenn es bei mir dann auch funktioniert.

Frage:
In 'TDatenContainer.ReadFromStream' und 'TDatenContainer.WriteToStream' benutzt Du 'MyDaten:TDaten' machst aber kein 'Create', funktioniert das auch so ?

Diese Frage entstand durch folgendes Problem:

1.
Ein Datensatz wurde bereits vorher gespeichert.

2.
TempDaten wurde in die WatchList aufgenomen und die procedure 'LadenClick' (siehe unten) aufgerufen.

3.
Nachdem TempDaten angelegt wurde 'TempDaten:=TDaten.Create('', 0)', wird der erste Datensatz (0) ausgelesen.

Problem:
Nach ausführen von 'getItemAt(0)' ist TempDaten anscheinend nicht mehr vorhanden (Inaccessible value). Das führt natürlich zu einem Fehler wenn ich die Daten verarbeiten will.

Delphi-Quellcode:
procedure TMainForm.LadenClick(Sender: TObject);
var
  FileName: String;
  TempDaten: TDaten;
begin
  FileName := InputBox('Laden', 'File Name:', '<datei>');
  if FileExists(FileName) then
  begin
    DatenListe := TDatenContainer.Create(FileName);
    DatenListe.ReadFromFile;
    TempDaten := TDaten.Create('', 0);
    TempDaten := DatenListe.getItemAt(0);
    if TempDaten = nil then
    begin
      exit;
    end;
    Label1.Caption := TempDaten.mytext;
    Label2.Caption := IntToStr(TempDaten.myinteger);
    TempDaten.Free;
  end;
end;
Hat das alles wieder etwas mit 'Pointern' zu tun ?

Gruß,
Karsten

[edit=Daniel B]Delphi-Tags korrigiert. Mfg, Daniel B[/edit]
  Mit Zitat antworten Zitat