Wieso der umweg über MemoryStream?
Und statt TStrings.Create einfach TStringsList.Create; - TStrings ist eine abstrakte Klasse!
Code:
procedure TFormDateneingabeBuecher.TabelleMouseMove(Sender: TObject;
Shift: TShiftState; X, Y: Integer);
var ACol, ARow: longint;
Hint : String;
StringList : TStrings;
begin
Tabelle.MouseToCell(X, Y, ACol, ARow);
if (ACol = 3) then
begin
Hint := Tabelle.Cells[0, ARow];
Buecher[Tabelle.Row].Langbeschreibung.Position := 0;
StringList := TStringsList.Create;
StringList.LoadFromFile(Buecher[Tabelle.Row].Langbeschreibung);
Tabelle.Hint:=Hint;
if (ACol<>LastCol) or (ARow<>LastRow) then
begin
Application.CancelHint;
LastCol:=ACol;
LastRow:=ARow;
end;
StringList.Free;
end;
end;