Hallo Leutz,
ich verwende um die Listviews zu speichern bzw zu laden folgende Codes.
Delphi-Quellcode:
{---------------------------------------------------------------------
Prozedur : ListViewSaveToFile
Beschreibung : Speichert ListView in einer Datei
Argumente : ListView, AFileName
Ergebnis : -
---------------------------------------------------------------------}
Procedure THaupt_Form.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;
{---------------------------------------------------------------------
Prozedur : ListViewLoadFromFile
Beschreibung : Ladet ListView von einer Datei
Argumente : ListView, AFileName
Ergebnis : -
---------------------------------------------------------------------}
Procedure THaupt_Form.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;
Das hatte ich mal wenn ich mich richtig erinnere von Luckie bekommen. Ist schon eine Weile her. Es funktioniert auch alles wie gewünscht.
Nun meine Frage ist. Ich hatte in einen Programm die Kombo ListView1 verwendet und mit diesem auch gespeichert. Nun habe ich sozusagen ein Nachfolger Programm geschrieben in der es aber nicht mehr ListView1 sondern Daten_ListView genannt wird. Da erhalte ich dann Fehlermeldung "Schutzverletzung". Es hatte zwar geladen aber ich kann nicht zugreifen.
Nun ist das richtig das wenn ich die ListView speichere das den Namen "ListView1" mitgespeichert wurde ? So das ich dann mit den Daten_ListView Probleme habe da 2 verschiedenen Namen sind ?
Als Notlösung hatte ich einfach einen Konverter geschrieben der die Daten in einer ListView1 ladet, die Daten dann in Daten_ListView kopiert und danach dann mit Daten_ListView speichert. Ich habe wohl in Moment nicht die Idealste Speicher Lade Routine.
Puuh lange Rede kurzer Sinn. Also lag es daran wegen den unterschiedlichen ListView.Name ??
Thx schon mal für die Antworten