ListView in Stream speichern

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

ListView in Stream speichern

Beitrag von catweasel »

Hallo

Ich habe hier ein kleines ListView in meinem Programm dessen Inhalt ich speichern will.
Dabei wollte ich keinen großen Aufwand treiben und das via Stream in eine Datei schreiben.

Beim Laden der Daten bekomme ich aber eine Meldung: "Class TCustomListViewEditor" not found"
Ich kann mir nicht erklären was er da von mir will...
Was könnte mein Fehler sein? Die Komponente heißt tatsächlich "ListView1" und liegt auf der Form1.

Gruß
Michael

Code: Alles auswählen

Procedure TForm1.ListViewSaveToFile (ListView: TListView; AFileName: string);
var
  LViewFileStream: TFileStream;
begin
  LViewFileStream := TFileStream.Create(AFileName, FMCreate or fmShareDenyNone);
  try
    LViewFileStream.WriteComponentRes(Listview.Name, ListView);
  finally
    LViewFileStream.Free;
  end
end;
 
 
Procedure TForm1.ListViewLoadFromFile (ListView: TListView; AFileName: string);
var
  LViewFileStream: TFileStream;
begin
  LViewFileStream := TFileStream.Create(AFileName, FMOpenRead or fmShareDenyNone);
  try
    LViewFileStream.ReadComponentRes(ListView);
  finally
    LViewFileStream.Free;
  end
end;
 
 
// Laden
procedure TForm1.LoadToolButtonClick(Sender: TObject);
begin
  if OpenDialog1.Execute then ListViewLoadFromFile(ListView1, OpenDialog1.FileName);
end;
 
 
// Speichern
procedure TForm1.SaveToolButtonClick(Sender: TObject);
begin
  if SaveDialog1.Execute then ListViewSaveToFile(ListView1, SaveDialog1.FileName);
end
 

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ListView in Stream speichern

Beitrag von theo »

Code: Alles auswählen

initialization
RegisterClass(TCustomListViewEditor);

catweasel
Beiträge: 230
Registriert: Di 17. Mär 2009, 10:51
OS, Lazarus, FPC: Win10 64Bit // Linux Mint 20.0 - (L 2.2.0 FPC 3.2.2)

Re: ListView in Stream speichern

Beitrag von catweasel »

theo hat geschrieben:

Code: Alles auswählen

initialization
RegisterClass(TCustomListViewEditor);

Danke, ich bekomme jetzt keine Fehlermeldung mehr.

Allerdings werden die Daten auch nicht im ListView angezeigt. Ich muß mir wohl doch was anderes ausdenken..

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: ListView in Stream speichern

Beitrag von theo »

catweasel hat geschrieben:Allerdings werden die Daten auch nicht im ListView angezeigt. Ich muß mir wohl doch was anderes ausdenken..

Zum Glück gibt es Google!
Das sieht auf den ersten Blick recht geordnet aus (nicht getestet):
http://www.delphipraxis.net/1278402-post17.html

Antworten