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
Seite 4 von 4   « Erste     234   
EWeiss
(Gast)

n/a Beiträge
 
#31

Re: TextSuite will nicht

  Alt 3. Jul 2008, 20:53
Zitat:
Ja die hochgeladenen Version enthält mit Sicherheit noch Fehler. Ich habe auch nie gesagt, dass sie fehlerfrei ist. Das wäre nicht nur naiv sondern auch vermessen wenn nicht sogar dumm. Nichts ist absolut fehlerfrei! Ich habe nur gesagt, dass die Fehler die du da hast nicht an der Bibliothek liegen sondern an den Daten die ich bekomme. Die Version der Bibliothek ist im übrigen auch noch keine richtig freigegebene Version. Allerdings kommt sie dem sehr sehr nahe. Ich will nur im Zuge der Hilfe auch noch durch den Code gehen und schauen ob alle Fehlercode richtig sind. Und da ist mir schon so das ein oder andere aufgefallen was problematisch werden könnte.
Sei wegen meinen äußerungen bitte nicht sauer.
Letztendlich hilft es dir auch wenn ich da so penibel bin.. sprich eventuelle gefundene Fehler zu korrigieren.
Ich bin ja froh das sich jemand eine solche Arbeit macht und ich es frei nutzen darf.
Dafür meine Hochachtung und Daumen hoch

Bei den Font der meine Anwendung zum absturz bring wird ein DLL Fehler gemeldet
die anscheinend von dem Fontsatz verwendet wird ..

accesssviolation in USP10.dll..

Danke für das Sample werde es mal testen.. Und habe nie gesagt das deine TextSuite nur verbugt ist.

EDIT:
Das Sample funktioniert
Darf nur nicht die Textdatei mit Uedit öffnen der zerstört da irgendwas wenn
ich sie wieder schließen tu.

Im Anhang ein Bild von dem Fehler mit der Schriftart..
Kommt auch bei deinen Sample.
Schicke dir die über PN!

Gruss Emil
Miniaturansicht angehängter Grafiken
error_789.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

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

Re: TextSuite will nicht

  Alt 3. Jul 2008, 22:16
Danke für die Blumen. Ich habe ja jetzt per Zufall auch ein Speicherloch gefunden, als ich was nachgeschaut hatte. Und Fonts für OpenGL sind leider ein absoluter Missstand.

Die von dir geschickten Dateien funktionieren bei mir Problemlos. Die Datei usp10.dll ist bei mir vorhanden. "Uniscribe Unicode script processor" als Version "1.0420.2600.2180 (xpsp_sp2_rtm.040803-2158)" scheint also Bestandteil von SP2 zu sein. Funktioniert das Font denn sonst? Also Word/Doppelclick etc.

Datei: Ich prüfe explizit ab ob ein BOM existiert. Die 2-3 Byte am Anfang der Dateien. In ReadUTF8 kannst das anpassen. Ich wollte nur sicher gehen, dass ich auch wirklich UFT-8 bekomme.
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
EWeiss
(Gast)

n/a Beiträge
 
#33

Re: TextSuite will nicht

  Alt 3. Jul 2008, 22:33
Zitat von Lossy eX:
Danke für die Blumen. Ich habe ja jetzt per Zufall auch ein Speicherloch gefunden, als ich was nachgeschaut hatte. Und Fonts für OpenGL sind leider ein absoluter Missstand.

Die von dir geschickten Dateien funktionieren bei mir Problemlos. Die Datei usp10.dll ist bei mir vorhanden. "Uniscribe Unicode script processor" als Version "1.0420.2600.2180 (xpsp_sp2_rtm.040803-2158)" scheint also Bestandteil von SP2 zu sein. Funktioniert das Font denn sonst? Also Word/Doppelclick etc.

Datei: Ich prüfe explizit ab ob ein BOM existiert. Die 2-3 Byte am Anfang der Dateien. In ReadUTF8 kannst das anpassen. Ich wollte nur sicher gehen, dass ich auch wirklich UFT-8 bekomme.
Hmm sehr seltsam habe auch die Version
1.0420.2600.2180 (xpsp_sp2_rtm.040803-2158)

sobald ich den Font auswähle mit deinem SystemEnum oder vis_BassVis
dann kracht es hier gewaltig.

Habe XP Professional Serv2
Denke die anderen dinge sind dafür unerheblich.

EDIT:
In Word kann ich ihn wählen und auch mit arbeiten.
EDIT2:
Der Fehler tritt in
procedure TtsRenderer.TextOut(pText: pWideChar); auf in folgender zeile..
pItemList := SplitText(pText); gruss Emil
Miniaturansicht angehängter Grafiken
pic_168.jpg  
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

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

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
EWeiss
(Gast)

n/a Beiträge
 
#35

Re: TextSuite will nicht

  Alt 4. Jul 2008, 14:27
Zitat:
Aktuell scheint dieses Problem nämlich nur auf deinem System aufzutreten und da sind mir ehrlich gesagt ein bisschen die Hände gebunden.
So tragisch is es eigentlich nicht da ich ja weiss der Font hier nicht geht
dann wähle ich ihn einfach nicht aus.
Wenn ich ihn doppelklicke oder anderweitig damit arbeite funktioniert er ja.

gruss Emil
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#36

Re: TextSuite will nicht

  Alt 5. Jul 2008, 06:17
Ist es möglich den CodePage im clickevent direkt zu ändern ohne
die Datei neustarten zu müssen ?

Delphi-Quellcode:
If UseUTF8 then
  TsSetParameteri (TS_CODEPAGE, TS_CODEPAGE_UTF8)
Else
  TsSetParameteri (TS_CODEPAGE, TS_CODEPAGE_8859_1);
Ich möchte quasi den Codepage während der aktuellen sitzung verändern.

gruss Emil
  Mit Zitat antworten Zitat
Benutzerbild von Lossy eX
Lossy eX

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

Re: TextSuite will nicht

  Alt 5. Jul 2008, 08:35
Ich verstehe nicht ganz was du meinst! Aber du kannst die Codepage jederzeit setzen. Wenn ich sage jederzeit meine ich auch jederzeit. Du kannst vor jedem tsTextOutA eine andere Codepage setzen. Das geht auch innerhalb des Block Moduses. Denn ich konvertiere den Text sowieso in einen WideString. Und intern verarbeite ich außschließlich nur WideStrings. Weswegen die CodePage nur ein zusätzlicher Schritt vorher ist.

Ich hatte das gestern noch mal auf XP sp1 und XP 64 Bit getestet und lief. Nur der Vollständigkeit halber.
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
EWeiss
(Gast)

n/a Beiträge
 
#38

Re: TextSuite will nicht

  Alt 5. Jul 2008, 08:46
Zitat von Lossy eX:
Ich verstehe nicht ganz was du meinst! Aber du kannst die Codepage jederzeit setzen. Wenn ich sage jederzeit meine ich auch jederzeit. Du kannst vor jedem tsTextOutA eine andere Codepage setzen. Das geht auch innerhalb des Block Moduses. Denn ich konvertiere den Text sowieso in einen WideString. Und intern verarbeite ich außschließlich nur WideStrings. Weswegen die CodePage nur ein zusätzlicher Schritt vorher ist.

Ich hatte das gestern noch mal auf XP sp1 und XP 64 Bit getestet und lief. Nur der Vollständigkeit halber.
Ahh super das meinte ich
Habe nämlich einige error als Meldung bekommen.
Liegt aber an OpenGl nicht an TextSuite.

Da ich aber probleme mit der übergabe des String habe funktioniert es nur
mit meiner hier ausgestellten konvertierung nach Widestring.
Da geht auch nichts verloren

gruss Emil
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


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 22:40 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