Hallo. Ich habe ein Memofeld per Stream abgespeichert und in einen Stream abgespeichert. Das auslesen klappt auch wunderbar über das Memofeld. Jedoch möchte ich nun an die Stringliste auch OHNE MemoFeld heran kommen. Wie geht das? Hier meine Idee.
Delphi-Quellcode:
procedure TFormDateneingabeBuecher.TabelleMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var ACol, ARow: longint;
Hint : String;
StringList : TStrings;
MemoryList : TMemoryStream;
begin
Tabelle.MouseToCell(X, Y, ACol, ARow);
if (ACol = 3) then
begin
Hint := Tabelle.Cells[0, ARow];
Buecher[Tabelle.Row].Langbeschreibung.Position := 0;
MemoryList := TMemoryStream.Create;
MemoryList.LoadFromStream(Buecher[Tabelle.Row].Langbeschreibung);
StringList := TStrings.Create; //Mit und ohne diese Zeile gibt es eine Fehlermeldung
MemoryList.Position := 0;
StringList.LoadFromStream(MemoryList);
Tabelle.Hint:=Hint;
if (ACol<>LastCol) or (ARow<>LastRow) then
begin
Application.CancelHint;
LastCol:=ACol;
LastRow:=ARow;
end;
MemoryList.Free;
StringList.Free;
end;
end;