Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как тип String привести к PWideChar?


Страницы:   1 2

Yandexman ©   (2005-06-01 19:05:00) 

как String привести к PWideChar?


Ученик   (2005-06-01 23:55:00) [21]

>Alex Konshin ©   (01.06.05 23:12) [8]

Понятно :-)

Есть предположение, что Yandexman спрашивает для этого

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1117616006&n=5


Alex Konshin   (2005-06-01 23:12:00) [22]

Ученик   (01.06.05 22:50) [5]
>Alex Konshin ©   (01.06.05 22:46) [3]
Вы это серьезно ?

Вполне серьезно.

Вот, например, такое безобидное применение (кстати, первое же, что напрашивается в голову начинающему) предложенного способа чревато любыми неприятностями.

function ToWideChar( const S: String ) : PWideChar;
begin
 Result := PWideChar(WideString(S));
end;

Вы хоть предупреждайте новичков.

Для тех, кто не понял: актуальность указателя, получаемого по PWideChar(WideString(S)) практически только в пределах самого этого выражения. Передавать его куда-либо нельзя.


Reindeer Moss Eater   (2005-06-01 22:58:00) [23]

Даже если будет утечка памяти или обращение к мусору или даже если упадет кирпич, приведение string к PWideChar все равно состоится.
А о другом  не спрашивалось.
:)


iskatel   (2005-06-01 22:56:00) [24]

2Alex Konshin
тебе надо на сях попрограммить или на асме, а то вообще всего боятся стал, что в хелпе как не "safe" прописано :-)


Ученик   (2005-06-01 22:50:00) [25]

>Alex Konshin ©   (01.06.05 22:46) [3]

Вы это серьезно ?


VMcL   (2005-06-01 22:49:00) [26]

>> Alex Konshin ©   (01.06.05 22:46) [3]

А ещё кирпич на голову может упасть.

WBW.


Alex Konshin   (2005-06-01 22:46:00) [27]

При таком явном приведении может быть memory leak или к обращению к мусору.
Так же как и при простом PChar(s).

Мастера, тщательнее надо быть, тщательнее. :)


VMcL   (2005-06-01 19:09:00) [28]

PWideChar(WideString(S))
где S - AnsiString


Reindeer Moss Eater   (2005-06-01 19:08:00) [29]

Явно


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо