Ошибка в GetEnvironmentVariableUTF8

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ошибка в GetEnvironmentVariableUTF8

Сообщение tria » 23.08.2020 14:49:00

Получаю имя компа методом:
s:=GetEnvironmentVariableUTF8('COMPUTERNAME');

Имя компа содержит кирилицу. На выходе получаю кракозябры.

Метод SysUtils.GetEnvironmentVariable(CompName) возвращает что-то, похожее на utf16, но UTF16ToUTF8(s) тоже дает кракозябры.
Мне еще нужно и 'CLIENTNAME' получать...

Что можете посоветовать?

Лазарь 2.0.6
фпс 3.0.4
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10

Re: Ошибка в GetEnvironmentVariableUTF8

Сообщение iskander » 23.08.2020 16:51:22

tria писал(а):Что можете посоветовать?

Обновить Лазарь и компилятор.
iskander
энтузиаст
 
Сообщения: 590
Зарегистрирован: 08.01.2012 18:43:34

Re: Ошибка в GetEnvironmentVariableUTF8

Сообщение скалогрыз » 23.08.2020 23:04:41

tria писал(а):s:=GetEnvironmentVariableUTF8('COMPUTERNAME');

Имя компа содержит кирилицу. На выходе получаю кракозябры..

попробуй запустить программу без отладчика (вне лазаруса)

На данный момент есть поверие, что проблема "вернулась" из-за перехода на Gdb 8.5. На старом отладчике Gdb 7.3.5 всё было норм.

Обновлять Лазарус или компилятор не нужно.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Ошибка в GetEnvironmentVariableUTF8

Сообщение Seenkao » 24.08.2020 01:13:36

Страницу модуля переведи в UTF-8 (правой клавишей на модуле -> "параметры файла" -> "кодировка")
или https://wiki.freepascal.org/Unicode_Sup ... 0.B8.D1.8E
Seenkao
энтузиаст
 
Сообщения: 502
Зарегистрирован: 01.04.2020 03:37:12

Re: Ошибка в GetEnvironmentVariableUTF8

Сообщение tria » 25.08.2020 13:29:07

Кодировка модуля utf8.
И таки да, без отладчика ошибки нет! Спасибо большое!
tria
постоялец
 
Сообщения: 401
Зарегистрирован: 03.04.2006 11:24:10


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 14

Рейтинг@Mail.ru