Мастера DELPHI, Delphi programming community Рейтинг@Mail.ru Титульная страница Поиск, карта сайта Написать письмо 
| Новости |
Новости сайта
Поиск |
Поиск по лучшим сайтам о Delphi
FAQ |
Огромная база часто задаваемых вопросов и, конечно же, ответы к ним ;)
Статьи |
Подборка статей на самые разные темы. Все о DELPHI
Книги |
Новинки книжного рынка
Новости VCL
Обзор свежих компонент со всего мира, по-русски!
|
| Форумы
Здесь вы можете задать свой вопрос и наверняка получите ответ
| ЧАТ |
Место для общения :)
Орешник |
Коллекция курьезных вопросов из форумов
KOL и MCK |
KOL и MCK - Компактные программы на Delphi
Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / rsdn.org

 
Чтобы не потерять эту дискуссию, сделайте закладку « предыдущая ветвь | форум | следующая ветвь »

Сборка не юникодной-версии Lazarus'ом [Win32]


swerg   (14.01.13 14:22

Выяснил неожиданную для меня вещь: Lazarus подразумевает, что все строковые значения для выдачи в интерфейс Windows в нем будут заданы в кодировке UTF-8.

Вопрос: есть ли возможность собрать проект так, чтобы строки обрабатывались в кодировке Ansi, без юникода?

В исходниках Lazarus вижу, что перед вызовом всех WinAPI-функций стоит преобразование UTF-8 --> Unicode, после чего вызываются функции с суффиксом W, однако есть и вариант кода, когда вызываютяс "нормальные" не юникодные функции WinAPI. Управляется дерективой компилятора ... ээээ... ну в общем какой-то, забыл, сорри.
Но как собрать не-юникод вариант приложения - ума не приложу. В начало каждого модуля программы вставлял {$UNDEFINE эта_самая_константа}, но это не помогло, впрочем наверное понятно почему.
Но как собрать так, чтобы все это задействовать - не знаю

Подскажите, плиз. Вставлять в моей программе конвертацию ANSI-->UTF8  к сожалению не вариант, ну правда. Потому как я точно не знаю какая строка пойдет в интерфейс (и, соответственно ее надо конвертировать), а какая - будет просто использоваться внутри программы, значит конвертировать не нужно.


Thaddy ©   (14.01.13 19:17[1]

For Lazarus this is not a real option because the whole LCL is always UTF8.
Fot Freepascal itself you can simply choose $MODE DELPHI or commandline -Mdelphi because the RTL and the FCL can be compiled for ANSI (and/or KOI) like that.

For unicode - from FPC 2.7.1 - you can choose $MODE DELPHIUNICODE or -Mdelphiunicode, but that compiles to UTF16.

But (visual parts) of Lazarus and the LCL are UTF8, always.


swerg   (14.01.13 21:44[2]

Thaddy, понял, огромное спасибо.
Ну раз always, значит придется с этим жить ...


версия для печати

Написать ответ

Ваше имя (регистрация  E-mail 







Разрешается использование тегов форматирования текста:
<b>жирный</b> <i>наклонный</i> <u>подчеркнутый</u>,
а для выделения текста программ, используйте <code> ... </code>
и не забывайте закрывать теги! </b></i></u></code> :)


Наверх

  Рейтинг@Mail.ru     Титульная страница Поиск, карта сайта Написать письмо