Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Tab in TRichEdit anders als in TfrxRichView (https://www.delphipraxis.net/197282-tab-trichedit-anders-als-tfrxrichview.html)

Jasocul 26. Jul 2018 11:30

Delphi-Version: XE2

Tab in TRichEdit anders als in TfrxRichView
 
Ich übergebe einen Text aus TRichEdit an TfrxRichView.
Dieser Text beinhaltet auch Tabulatoren.
Bis vor zwei Wochen wurde das korrekt verarbeitet.

Dann wurde das Programm geändert, aber an einer Stelle, die definitiv nichts damit zu tun hat! Es handelt sich dabei auch nicht um eine aufwendige Änderung, die vielleicht versehentlich Nebenwirkungen hatte.

Die Tabulatoren werden "plötzlich" an einer Stelle verschoben. So, als würde der Platz zwischen dem letzten Buchstaben und dem Tab nicht mehr reichen. Der entsprechende Text wird automatisch erzeugt, kann aber überarbeitet werden, was allerdings nicht geschehen ist.

Die Übergabe des Textes aus TRichEdit an TfrxRichView sieht folgendermaßen aus:
Delphi-Quellcode:
procedure SetRTFText(var re : TRichEdit; s : String);
var
  tmpStream : TMemoryStream;
  sl : TStringList;
begin
  tmpStream := TMemoryStream.Create;
  sl := TStringList.Create;
  sl.Text := s;
  sl.SaveToStream(tmpStream);
  tmpStream.Position := 0;
  re.Lines.LoadFromStream(tmpStream);
  sl.Free;
  tmpStream.Free;
end;
Was sich seit letzten funktionierenden Kompilierung geändert hat:
- Delphi Tokyo wurde installiert.
- Es gab ein paar Windows-Updates (Windows 7)

TfrxReport hat Version 4.14.2.

Hat jemand eine Idee, woran das liegen kann?

himitsu 26. Jul 2018 13:18

AW: Tab in TRichEdit anders als in TfrxRichView
 
Beim RichEdit kann man definieren wo die Tabulatoren sein sollen,
so wie man es z.B. aus Word/WordPad kennt. (z.B. oben paar Mal ins Lineal klicken)

PS: Delphi-Referenz durchsuchenTStringStream und das doppelte Umkopieren weglassen.

Jasocul 26. Jul 2018 13:33

AW: Tab in TRichEdit anders als in TfrxRichView
 
Zitat:

Zitat von himitsu (Beitrag 1408767)
PS: Delphi-Referenz durchsuchenTStringStream und das doppelte Umkopieren weglassen.

Ist notiert als ToDo und schaue ich mir bei nächster Gelegenheit an.

Das Programm erzeugt automatisch PDF-Dateien. Beim direkten Vergleich hat sich herausgestellt, dass die Schriften nicht identisch sind. Schriftart, Größe, etc. sind identisch eingestellt, aber es macht den Eindruck, dass sich beim Rendern etwas geändert hat.

mjustin 26. Jul 2018 13:45

AW: Tab in TRichEdit anders als in TfrxRichView
 
Es gibt verschiedene Richedit-DLLs. Windows Updates könnten hier theoretisch etwas verändert haben, daher würde ich das Programm mit einem älteren Stand von Windows testen (VM to the rescue).

Jasocul 26. Jul 2018 13:58

AW: Tab in TRichEdit anders als in TfrxRichView
 
@mjustin:
Ich hatte auch schon diesen Verdacht, aber müsste dann nicht auch die alte Programm-Version falsche Ergebnisse liefern?

mjustin 26. Jul 2018 14:06

AW: Tab in TRichEdit anders als in TfrxRichView
 
Zitat:

Zitat von Jasocul (Beitrag 1408773)
@mjustin:
Ich hatte auch schon diesen Verdacht, aber müsste dann nicht auch die alte Programm-Version falsche Ergebnisse liefern?

Auf dem Rechner könnten verschiedene Versionen der Richedit-DLL installiert sein, mit verschiedenen Dateinamen (Versionsnummern) (?)

Jasocul 26. Jul 2018 14:15

AW: Tab in TRichEdit anders als in TfrxRichView
 
Zitat:

Zitat von mjustin (Beitrag 1408774)
Auf dem Rechner könnten verschiedene Versionen der Richedit-DLL installiert sein, mit verschiedenen Dateinamen (Versionsnummern) (?)

Das wollte ich auch noch prüfen, obwohl mein Kollege aus der System-Administration dazu meinte, dass er das für unwahrscheinlich hält.

Ich habe auch noch was anderes gefunden: In diesem Link werden Probleme mit Arial angesprochen. Wenn es das sein sollte, wundert es mich nur, warum es bisher funktioniert hat. Vielleicht ist auch bisher noch Niemandem aufgefallen. Bekanntes Phänomen. Sobald eine neue Version ausgerollt wird, schauen die Anwender wieder genauer hin.

Wäre echt blöd, wenn Arial nicht mehr von den Anwendern genutzte werden kann.

Ab jetzt habe ich langes Wochenende. Ich danke euch erstmal für die Unterstützung bis hierher. Von zuhause arbeite ich nicht an diesem Problem. Weitere Hinweise kann ich also erst Montag prüfen.

himitsu 26. Jul 2018 14:43

AW: Tab in TRichEdit anders als in TfrxRichView
 
Zitat:

Zitat von Jasocul (Beitrag 1408773)
@mjustin:
Ich hatte auch schon diesen Verdacht, aber müsste dann nicht auch die alte Programm-Version falsche Ergebnisse liefern?

Was ist alt?

Delphi/Fastreport werden in neueren Versionen auch zusätzlich die neueren RichEdit-Versionen unterstützen und zumindestens Delphi nimmt da dann das Aktuellste, was es kennt.

Jasocul 27. Jul 2018 10:49

AW: Tab in TRichEdit anders als in TfrxRichView
 
Das letzte Kompilat, bevor das Problem auftrat, ist ca. 1 Jahr her.
In 2018 wurden mehrere Windows-Update für W7 engespielt. Da können durchaus welche enthalten gewesen sein, die längst hätten gemacht worden sein sollen.

p80286 27. Jul 2018 15:27

AW: Tab in TRichEdit anders als in TfrxRichView
 
Zitat:

Zitat von Jasocul (Beitrag 1408769)

Das Programm erzeugt automatisch PDF-Dateien. Beim direkten Vergleich hat sich herausgestellt, dass die Schriften nicht identisch sind. Schriftart, Größe, etc. sind identisch eingestellt, aber es macht den Eindruck, dass sich beim Rendern etwas geändert hat.

Was vergleichst Du denn?
Bildschirmanzeige und Papierausdruck sind ja zweierlei Schuhe.
Und im PDF hast Du eine Bitmap oder Text mit Druckanweisungen, manchmal ist es auch ein Gemisch aus beidem.

Was erhältst Du denn wenn Du den Inhalt des TRichEdit auf einem PDF-Drucker ausgibst?
(Nach Möglichkeit -A und eingebetteter Font)

Gruß
K-H


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:13 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz