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

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

Pointer на Unicode-строку


Страницы:   1 2

Psycho ©   (2009-01-09 20:41:00) 

Нужен Pointer на строку, но его не получается взять никак, кроме PString(AnsiString(StringList[i])), а это потеря Unicode-данных. А если не написать AnsiString(x), то PString, работая как PUnicodeString, вместо пути к файлу возвращает кучу фигни с иероглифами и пр. Почему? Попытки писать всякие другие комбинации типов приводят к тому, что возвращается Pointer на пустую строку.

Delphi 2009, Windows Vista


DVM   (2009-01-09 22:10:00) [21]


> а всплывает при наведении на место после этого выражения,
>  когда выполнение на паузе

у меня не всплывает, хотя мое "место после выражения" весьма вероятно отличается от твоего.


Psycho   (2009-01-09 22:03:00) [22]

ну это не как предупреждение идёт, а всплывает при наведении на место после этого выражения, когда выполнение на паузе


DVM   (2009-01-09 22:00:00) [23]

Да и так тоже у меня нет никаких предупреждений:

procedure TForm1.Button1Click(Sender: TObject);
var
 List: TStringList;
 p: pchar;
begin
 List := TStringList.Create;
 try
   List.Add('а');
   List.Add('б');
   List.Add('в');
   p := PChar(List[2]);
 finally
   List.Free;
 end;
end;


DVM   (2009-01-09 21:58:00) [24]


> Psycho ©   (09.01.09 21:53) [5]

procedure TForm1.Button1Click(Sender: TObject);
var
 List: TStringList;
 s: string;
 p: pchar;
begin
 List := TStringList.Create;
 try
   List.Add('а');
   List.Add('б');
   List.Add('в');
   s := List[2];
   p := PChar(s);
 finally
   List.Free;
 end;
end;


Psycho   (2009-01-09 21:53:00) [25]

где files - TStringList


Psycho   (2009-01-09 21:53:00) [26]

На PChar(files[listnumber]), во время дебага. Ошибку не выдаёт


DVM   (2009-01-09 21:49:00) [27]


> в Delphi 2009 говорит Expression illegal in evaluation

На что именно говорит?


Psycho   (2009-01-09 21:49:00) [28]

то есть evaluator


Psycho   (2009-01-09 21:48:00) [29]

в Delphi 2009 говорит Expression illegal in evaluation


DVM   (2009-01-09 21:43:00) [30]


> Psycho ©   (09.01.09 20:41)
>
> Нужен Pointer на строку

PChar - что не катит?


Страницы:   1 2

Наверх

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