Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Unicode Compiler Option (https://www.delphipraxis.net/117371-unicode-compiler-option.html)

EWeiss 17. Jul 2008 00:39

Re: Unicode Compiler Option
 
Zitat:

Zitat von mkinzler
Ja, aber bis zur Version 2.3.0 war die Sammlung OpenSource
http://www.yunqa.de/delphi/doku.php/...controls/index

ahh danke das werd ich mir mal anschauen.

gruss Emil

EWeiss 17. Jul 2008 06:23

Re: Unicode Compiler Option
 
Also wir haben das mal getestet
Compiliert in D2006 für Unicode funktioniert nicht auf einen Koreanischen System
Compiliert mit D7 Enterprise funktioniert hier und auch auf einen koreanischen System

also irgendwas ist da faul..
Weiß da jemand etwas genaueres drüber ?

packt der Compiler von D2006 das nicht ?

gruss Emil

Bernhard Geyer 17. Jul 2008 06:39

Re: Unicode Compiler Option
 
Zitat:

Zitat von EWeiss
hab mir da was gebastelt von irgendeinen C++ code

Wieso nimmst du nicht die schon vorhandenen Delphi-Funktionen bezüglich UTF8-Codierung/Decodierung?

Zitat:

Zitat von EWeiss
Compiliert in D2006 für Unicode funktioniert nicht auf einen Koreanischen System
Compiliert mit D7 Enterprise funktioniert hier und auch auf einen koreanischen System

also irgendwas ist da faul..
Weiß da jemand etwas genaueres drüber ?

Was funktioniert denn nicht bzw. in welchen Fällen funktioniert es nicht? Nur bei DLL oder wenn alles in einer Exe ist? Wird auch die Exe mit D2006 kompiliert und du verwendest nicht korrekt eine C-Kompatible DLL-Schnittstelle.

EWeiss 17. Jul 2008 06:49

Re: Unicode Compiler Option
 
Zitat:

Wieso nimmst du nicht die schon vorhandenen Delphi-Funktionen bezüglich UTF8-Codierung/Decodierung?
Weil sie nicht funktionieren warum auch immer das ist ja mein Rätzel
mit dem ich mich rumschlage.

Zitat:

Was funktioniert denn nicht bzw. in welchen Fällen funktioniert es nicht? Nur bei DLL oder wenn alles in einer Exe ist? Wird auch die Exe mit D2006 kompiliert und du verwendest nicht korrekt eine C-Kompatible DLL-Schnittstelle.
Kann ich nicht wiedergeben ..
Nur das eine das die Schriftzeichen wenn in D7 compiliert 100% in Ordnung sind
und mit dem Compiler von D2006 nicht.

Beide haben den gleichen Source von der visualisierung aber unterschiedliche Exe-Dateien.
Also an der EXE kann es nicht liegen.

Kompiliert er auf seinen Koreanischen System mit D7 dann werden bei mir die Umlaute korrekt angezeigt
Mache ich es hier mit D2006 fehlen bei ihm einige zeichen.
Mit D7 ist alles in Ordnung das wundert mich ja.

EDIT:
Habe es mit meiner version siehe oben und mit dem "TMS Unicode Component Pack"
getestet beides bleibt gleich und funktioniert genau so gut kann mir diese also sparen
Es ist ein reines compiler problem.

gruss Emil

Bernhard Geyer 17. Jul 2008 07:26

Re: Unicode Compiler Option
 
Wie werden denn die Text im Sourcecode angegeben?
Und wieso arbeitest du mit PChars als übergabe wenn du eigentlich Unicode-Zeichen hast?

EWeiss 17. Jul 2008 08:54

Re: Unicode Compiler Option
 
Zitat:

Zitat von Bernhard Geyer
Wie werden denn die Text im Sourcecode angegeben?
Und wieso arbeitest du mit PChars als übergabe wenn du eigentlich Unicode-Zeichen hast?

Ich arbeite mit der TextSuite die setzt PChar vorraus..
Die Texte werden aus der Anwendung als String übergeben bzw.. auch wieder als PChar oder WideString.
Ist abhängig von dem was die Leute über ihre Anwendung an BassVis schicken und dann innerhalb
der vis_BassVis verarbeitet wird.

VB kennt kein WideString usw..
Ich kann also keinen reinen WideString innerhalb vis_BassVis verwenden
sondern das was ankommt und das kann viel sein.
Deshalb meine Funktion die dafür sorgt das der ankommende Text ins Unicode Format konvertiert wird.

Aber wie gesagt alles spekulativ da es in D2006 mit dem Compiler einfach nicht
richtig gebunden wird warum auch immer.
Anders sehe ich das nicht denn wie schon gesagt in D7 gehts.

Wüßte auch nicht warum der in Korea mir da was erzählen sollte was nicht stimmt. (Überprüfen kann ich allerdings nicht!)

gruss Emil

mkinzler 17. Jul 2008 09:06

Re: Unicode Compiler Option
 
Versuchs es mal mit PWideChar

EWeiss 17. Jul 2008 09:18

Re: Unicode Compiler Option
 
Zitat:

Zitat von mkinzler
Versuchs es mal mit PWideChar

So wie lossy mir das erklärt hat würde das nichts bringen
Wenn die Applikation einen string schickt dann ist der Unicode Part innerhalb des strings schon gebrochen
was bedeutet das er nicht mehr UniCode fähig ist.
Also muss ihn auf jedenfall selbst wieder ins Unicodeformat konvertieren
Das funktioniert ja auch ohne probleme.

Denke kann das problem so nicht lösen
Werd die DLL dann mit D7 kompilieren wenn ich sie fertig ist.

gruss Emil

mkinzler 17. Jul 2008 09:21

Re: Unicode Compiler Option
 
Interessant ist nur, dass der Compiler eigentlich seit D8 unicodefähig ist.

OldGrumpy 17. Jul 2008 09:23

Re: Unicode Compiler Option
 
Zitat:

Zitat von EWeiss
Ich arbeite mit der TextSuite die setzt PChar vorraus..

Schon da kommt dann die auf dem jeweiligen Rechner eingestellte Codepage zum Tragen. Hast Du in der Exe für den Koreaner die Ländereinstellungen für die Exe entsprechend justiert? Ich empfehle einen umfassenden Exkurs in das Thema "i18n richtig gemacht" :)

Zitat:

Zitat von EWeiss
Die Texte werden aus der Anwendung als String übergeben bzw.. auch wieder als PChar oder WideString.

Auch da ist die Wandlung immer vom jeweiligen System abhängig. Wenn Windows die Exe für koreanisch hält (weil der koreanische Compiler ebenso wie Deiner standardmäßig die Systemeinstellungen dafür hernimmt), funktioniert die Wandlung von UCS-2 nach Ansi und umgekehrt, ansonsten nicht.

Zitat:

Zitat von EWeiss
Ist abhängig von dem was die Leute über ihre Anwendung an BassVis schicken und dann innerhalb der vis_BassVis verarbeitet wird.

Ich empfehle dringend, entweder zwei Varianten zu bauen (Ansi/Unicode) oder explizit nur eine der Varianten (vorzugsweise Unicode sonst gibts wieder Ärger) zuzulassen.

Zitat:

Zitat von EWeiss
VB kennt kein WideString usw..

Bitte? VB verwendet intern ausschließlich Unicode, nur ist BSTR halt ein indexierter Typ. Es ist aber gar kein Problem, daraus für die Parameterübergabe einen "handelsüblichen" Widestring zu machen.

Zitat:

Zitat von EWeiss
Ich kann also keinen reinen WideString innerhalb vis_BassVis verwenden sondern das was ankommt und das kann viel sein. Deshalb meine Funktion die dafür sorgt das der ankommende Text ins Unicode Format konvertiert wird.

Ja, und dementsprechend funktioniert es manchmal, manchmal nicht. Reite dieses tote Pferd bitte nicht weiter sondern machs lieber richtig :)

Zitat:

Zitat von EWeiss
Aber wie gesagt alles spekulativ da es in D2006 mit dem Compiler einfach nicht richtig gebunden wird warum auch immer. Anders sehe ich das nicht denn wie schon gesagt in D7 gehts.

Falscher Ansatz. Es ist wohl eher so, dass D2006 es richtig macht, D7 aber nicht, und eher zufällig der Anschein erweckt wird, D7 machte es richtig. Das kann an der nächsten Ecke schon wieder ganz anders aussehen und spätestens dann wirst Du wieder auf die Nase fallen mit dem falschen Ansatz.

Wenn Du mir die beiden Exen mal zukommen lassen kannst, zeig ich Dir im Detail wo es klemmt :)

Zitat:

Zitat von EWeiss
Wüßte auch nicht warum der in Korea mir da was erzählen sollte was nicht stimmt. (Überprüfen kann ich allerdings nicht!)

Tut er ja gar nicht :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:42 Uhr.
Seite 2 von 4     12 34      

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