WideString, идентичный для Строкового представления в Delphi 2009

Посмотрите здесь

Текущая реализация сохраняет массив целых объектов для всех целых чисел от -5 до 256, когда вы создаете int в этом диапазоне вы фактически просто возвращаете ссылку на существующий объект.

blockquote>

13
задан Toby Allen 17 December 2008 в 12:49
поделиться

4 ответа

Нет, они не idenitical.

WideString просто обертка для типа ActiveX/COM BSTR. Вам нужен он при работе с со строками в ActiveX/COM.

String в Delphi 2009 и позже является псевдонимом для UnicodeString, который может содержать символы Unicode, точно так же, как BSTR делает, но это не то же как WideString. WideString выделяется диспетчером памяти COM и не считаемая ссылка. UnicodeString выделяется диспетчером памяти RTL и считаемая ссылка, точно так же, как AnsiString.

необходимо использовать (Unicode)String по мере возможности, и только использовать WideString для взаимодействующего с COM, или контакт с библиотеками прежней версии, которые используют WideString для поддержки Unicode.

27
ответ дан 1 December 2019 в 17:59
поделиться

Кажется, что ответ здесь :

наиболее разительная перемена в Delphi 2009 - то, что тип “string” является теперь псевдонимом для UnicodeString вместо AnsiString.

7
ответ дан 1 December 2019 в 17:59
поделиться

Еще одной важной вещью отметить является различие в производительности.

В Техническом описании Marco Cantu (упомянутый в ответе moodforaday) говорит:

"WideString был (и все еще), не считаемая ссылка, и чрезвычайно плохо с точки зрения производительности и гибкости (например, он использует средство выделения глобальной памяти Windows, а не собственный FastMM4)".

Почти каждое руководство по обновлению для Delphi 2009, который я видел, рекомендует преобразовать весь WideStrings в Строки.

6
ответ дан 1 December 2019 в 17:59
поделиться

См. данную статью Marco Cantu, который обрисовывает в общих чертах работы строки (т.е. UnicodeString) в Delphi 2009:

"Техническое описание: Delphi и Unicode"

http://dn.codegear.com/article/38980

В основном, это - то, что Roddy сказал, но берет 27 страниц для вдаваний в подробности.

4
ответ дан 1 December 2019 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: