четверг, 10 января 2008 г.

Unicode в след. версии Delphi for win32

Согласно roadmap ближайшей версией Delphi for win32 будет Tiburon. Одно из самых долгожданных нововведений сей версии будет unicode.

В блоге Allen Bauer опубликовал статью по поводу того. как будет реализован тот самый Unicode в Tiburon.

Я попытаюсь кратко ее перевести (не полагайтесь на перевод - если понимаете по басурмански, то читайте сами).

Для строки unicode будет введен новый тип: UnicodeString, который будет автоматически использоваться вместо типа string. При этом WideString останется как есть. Для UnicodeString будет применено управление памятью, аналогичное AnsiString (т.е. с подсчетом ссылок). String[N] будет всегда Ansi-строкой. Для UnicodeString внутренним форматом будет UTF16. Тип AnsiString можно будет продолжать использовать. Тип Char будет соответствовать WideChar, а PChar - PWideChar.

Многие winapi функции имеют 2 варианта - один для ansi-строк (суффикс функций - символ А), другой для unicode-строк (суффикс функций - символ W). На вопрос - нужно ли в программах явно переделывать вызовы A-функций на W-функции - автор отвечает, что для тех функций из winapi, заголовки которых поставляются вместе с дельфи, менять вызовы на W-функции не нужно.

---

Ура, товарищи!

2 комментария:

Анонимный комментирует...

А как бедет реализованно set of Char?

Дмитрий Тимохов комментирует...

Честно говоря, я не знаю. Т.к. пока забил немного на тему Тибурона - начну снова интересоваться когда тестирование начнется.

Но я уверен, что Ален Баер писал об этом.