Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi D2009: UnicodeString vs. WideString (https://www.delphipraxis.net/120761-d2009-unicodestring-vs-widestring.html)

Bbommel 16. Sep 2008 11:39


D2009: UnicodeString vs. WideString
 
Hallo zusammen,

ab Delphi 2009 gibt es ja nun den neuen Datentyp UnicodeString. In meinen bisherigen Projekten nutze ich für Informationen, die Unicode-fähig sein sollen, den Typ Widestring.

Kann mir schon jemand sagen (und vielleicht auch erklären :) ), inwiefern sich das miteinander verträgt? Ist es empfehlenswert, aus allem, wo bisher ein "widestring" steht, ein "unicodestring" zu machen (bzw. dann einfach ein string, ist ja dann ein Alias für UnicodeString)?

Ich hab mit etwas googeln diesen Blog-Eintrag von Chris Bensen gefunden, allerdings hilft der mir nur fast weiter - jetzt weiß ich, dass UnicodeString und WideString was anderes sind, aber wie und ob die sich vertragen, ist mir nicht klar. ;)

Danke und bis denn
Bommel

mirage228 16. Sep 2008 11:42

Re: D2009: UnicodeString vs. WideString
 
Also ein Unterschied dürfte sein, dass nei UnicodeString (analog zu AnsiString) sich die Delphi Compiler-Magic um die Referenzzählung usw. kümmert und bei WideString (entspr. dem COM-Typ BSTR) das Betriebssystem.

Viele Grüße

Bbommel 16. Sep 2008 12:19

Re: D2009: UnicodeString vs. WideString
 
Hm, über diese Stichworte BSTR und Referenzzählung bin ich auch schon gestolpert. Aber was bedeutet das konkret für emine Programme? Wird der Umgang mit strings durch einen der beiden Ansätze schneller, langsamer oder einfach nur anders?

Bis denn
Bommel

mkinzler 16. Sep 2008 12:21

Re: D2009: UnicodeString vs. WideString
 
UnicodeString ist schneller

Bernhard Geyer 16. Sep 2008 12:26

Re: D2009: UnicodeString vs. WideString
 
Zitat:

Zitat von mirage228
Also ein Unterschied dürfte sein, dass nei UnicodeString (analog zu AnsiString) sich die Delphi Compiler-Magic um die Referenzzählung usw. kümmert und bei WideString (entspr. dem COM-Typ BSTR) das Betriebssystem.

Bei WideStrings gibt es AFAIK keine Referenzzählung.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 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