Ich habe das Problem dass in TDBMemo seit Lazarus V2.x der Text anhand dem OnGetText von TField angezeigt wird und nicht mehr direkt aus der Datenbank.
Wie kann ich das abstellen, damit der Text so wie bei Lazarus 1.8.4 angezeigt wird?
Der Grund:
Im TDBGrid will ich den Text ohne Zeilenumbruch zeigen, damit man da auch was sinnvolles sieht, jedoch im Memo muss der so stehen wie es jemand eingibt. Hier Bilder damit man das versteht wie ich meine und Code was im OnGetText drin steht:
Code: Alles auswählen
procedure TfrmMain.qBeschreibungGetText(Sender: TField; var aText: string; DisplayText: boolean);
var s: string;
begin
s := StringReplace(Sender.AsString, LineEnding, '¶', [rfReplaceAll]);
s := StringReplace(s, #13, '¶', [rfReplaceAll]);
s := StringReplace(s, #10, '', [rfReplaceAll]);
if Length(s) > 250 then
aText := UTF8Copy(s, 1, 250) + '...'
else aText := s;
end;