AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi TextSuite will nicht
Thema durchsuchen
Ansicht
Themen-Optionen

TextSuite will nicht

Ein Thema von EWeiss · begonnen am 30. Jun 2008 · letzter Beitrag vom 5. Jul 2008
Antwort Antwort
Benutzerbild von Lossy eX
Lossy eX

Registriert seit: 7. Aug 2007
113 Beiträge
 
#1

Re: TextSuite will nicht

  Alt 4. Jul 2008, 09:50
Ich habe das auch mal auf Windows 2000 ausprobiert und funktionierte ohne Probleme. Wobei ich da auch explizit mal via ProcessExplorer geschaut hatte. Meine Anwendung verwendet die usp10.dll nicht. Also nicht mal indirekt durch andere DLLs. Ich werde das heute Abend noch mal auf anderen System ausprobieren. XP ohne SPs und XP 64bit (wobei die Anwendung trotzdem 32 Bit bleibt). Allerdings denke ich nicht, dass ich auf ein anderes Ergebniss kommen werden. Denn auf diesen Systemen hatte ich das schon reichlich getestet gehabt.

Das das Font innerhalb der Struktur falsche Werte enthält und scheinbar kaputt ist ist absolut richtig. Das dort benutze Record packt einige Felder übereinander. Je nachdem was der ItemTyp für einen Wert hat. Der Typ 3 ist ein Text. Entsprechend ist der Pointer von Font kein TtsFont sondern ein pWideChar. Dafür gibt es aber auch das Feld Word was vom Typ pWideChar ist.

Was mich daran aber mehr wundert. SplitText ist absolut simpel und geht nur Zeichen für Zeichen durch den Text und trennt den Text ins seine Bestandteile. Also Leerzeichen, Tabs, Zeilenumbrüchen etc. Aber diese Methode greift aussließlich auf den Text zu. Bzw. erstellt Kopien der einzelnen Teilstücke. Da wird mit dem Font nichts gemacht. Beim Erstellen des Fonts lese ich ein paar Eigenschaften aus und erst wenn der komplette Text durchgeparst wurde erstelle ich die benötigten Zeichen. In der Zwischenzeit geschiet nichts mit dem Font.

Ein Fehler dort deutet eher darauf hin, dass der Text irgendwie kaputt ist. Was aber dann eigentlich schon bei der Konvertierung von UTF-8 zu Wide hätte auffallen müssen. Du kannst ja auch mal in der TextSuite.inc das Define TS_PURE_PASCAL aktivieren. Damit wird der Assemblercode deaktiviert. Vermute aber das es eher nichts ändern wird. Hattest du da etwas an dem Text verändert? Im Zweifel kannst du auch mal einen konstanten Text ausgeben. Also tsTextOutA('a'); Ansonsten mal bitte das Font löschen und neu installieren. Oder wenn du es auf anderen System testen dann dies bitte auch mal tun.

Aktuell scheint dieses Problem nämlich nur auf deinem System aufzutreten und da sind mir ehrlich gesagt ein bisschen die Hände gebunden.
Ich habe ja keine Vorurteile gegenüber Autofahrern ... aber Fahrer von BMW und Mercedes bestätigen diese regelmäßig.
Außerdem neue technologische Errungenschaften: Serienmäßig eingebaute Rechtsfahrsperre und der stromsparende Blinker.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:17 Uhr.
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