Ich würde mir die OrginalSources.pas suchen wo MeasureText wirklich verwendet wird.
Wenn sich das Problem einfach überschreiben oder ableiten in eine neue Klasse lässt, dann mach das so.
Falls es komplizierter ist, dann
- fixe die OrginalSources.pas
- kopiere die Orginal-Source unter einem Fixes Verzeichnis
- und diese dann statt der OrginalUnit in die Projekt einbinden
- jetzt wird deine Fixes\OrginalSources.pas verwendet, statt der orginalen von Emba.
- dann editiere in deiner Fixes\Source.pas die Stelle wo das benutzt wird
- benutze MeasureText(Texts[0]) für die erste Zeile und multipliziere mit Length(Text) (so in der Art)
- oder bereche, und addiere MeasureText( Texts[I] ) für jede Zeile, und bilde die Summe
- arbeite dann mit der Summe über alle Zeilen weiter
- ! leider funktioniert das so nicht immer so problemlos, aber oft
Zum Glück hast du ja die Sourcen dabei (hoffe ich), um solche Probleme selber zu lösen
Rollo