ANSI при переходе от Lazarus 1.2.4 к 1.6.4

Форум для изучающих FPC и их учителей.

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

ANSI при переходе от Lazarus 1.2.4 к 1.6.4

Сообщение DropSoft » 27.04.2017 18:49:04

В Lazarus 1.2.4 использовал

Код: Выделить всё
Function MsgBox(H:HWND;s1,s2:shortstring;d1:dword):integer;
begin
  Result := MessageBox(H, PAnsiChar(UTF8ToAnsi(s1)), PAnsiChar(UTF8ToAnsi(s2)), d1);
end;

После установки Lazarus 1.6.4 вместо русских букв стали кракозябры.
Как это можно исправить, в чем дело?
DropSoft
новенький
 
Сообщения: 11
Зарегистрирован: 31.03.2013 13:47:40

Re: ANSI при переходе от Lazarus 1.2.4 к 1.6.4

Сообщение runewalsh » 27.04.2017 18:53:14

Выставь кодировку исходника («UTF-8 с BOM») и убери касты к ANSI (вроде как это развернётся в MessageBoxW), либо используй MessageBoxA.
Аватара пользователя
runewalsh
постоялец
 
Сообщения: 314
Зарегистрирован: 27.04.2010 00:15:25

Re: ANSI при переходе от Lazarus 1.2.4 к 1.6.4

Сообщение DropSoft » 27.04.2017 19:47:53

runewalsh, спасибо.
DropSoft
новенький
 
Сообщения: 11
Зарегистрирован: 31.03.2013 13:47:40

Re: ANSI при переходе от Lazarus 1.2.4 к 1.6.4

Сообщение Дож » 27.04.2017 19:58:26

«UTF-8 с BOM» -- зло :)
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 661
Зарегистрирован: 12.10.2008 16:14:47


Вернуться в Обучение Free Pascal

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

Сейчас этот форум просматривают: Google [Bot] и гости: 1

Рейтинг@Mail.ru