Lazarus 0.9.30.20 и глюки

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

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

Lazarus 0.9.30.20 и глюки

Сообщение Vadimus » 24.01.2012 12:41:14

Добрый день!

У меня следующие глюки в Lazarus 0.9.30.20 (Win7 32):

1) Сконвертировал проект из Delphi. При запуске приложения открывается сначала консоль, затем главная форма. Это баг или так должно быть?

2) При отлаживании открываются те же исходники, что уже открыты в IDE, только с надписью (2). Пример, открыт debugunit.pas, будет открыт еще и "debugunit.pas (2)" и в нем уже будет трассировка.

3) При отладке зачастую дебаггер показывает не те строки, которые реально сейчас выполняются. Связано с 4).

4) Файлы сохраненные, оказыватся не сохраненными. Начинается глюк 3) - закрываю IDE, открываю заново - последние изменения не сохранены. Мистика.

Помогите понять, или я что-то сделал не так, или это версия Lazarus такая глючная?

Добавлено спустя 18 минут 54 секунды:
Еще такой нюанс. Не знаю, фича или что это:

Пример: считываю текстовый файл в кодировке UTF-8 в строку. Ищу подстроку на русском языке "тест". В тексте она есть. Но Pos(str, 'тест') не её находит. Проверил, пишу строки в текст writeln(f, 'тест');, получается на выходе текст в кодировке CP1251. Т.е. кодировка в программах Lazarus получается не UTF-8?
Vadimus
новенький
 
Сообщения: 19
Зарегистрирован: 11.02.2011 16:56:16

Re: Lazarus 0.9.30.20 и глюки

Сообщение Padre_Mortius » 24.01.2012 13:15:19

1. Так и должно быть, исправляется галкой в настройках проекта "графическое приложение Win32"

Для поиска в UTF8 строке используйте UTF8Pos

по остальным вопросам нужны либо примеры, либо пояснения.
Откуда брался дистрибутив Lazarus? Какая версия fpc?
P.S. версии 0.9.30.20 не существует, есть версия 0.9.30.2
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Lazarus 0.9.30.20 и глюки

Сообщение Brainenjii » 24.01.2012 13:18:10

И ещё - посмотрите в какой кодировке сам исходник. Делается так - Контекстное меню редактора с открытым исходником -> File Setting -> Encoding.
Если там cp1251, то и writeln(f, 'тест'); даст cp1251
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46

Re: Lazarus 0.9.30.20 и глюки

Сообщение SSerge » 24.01.2012 13:37:02

Vadimus писал(а):Но Pos(str, 'тест') не её находит


По поводу работы с UTF-8 в lazarus, хоть сюда что ли взгляните: http://sirserge.altai.info/articles/?id=41

В первую очередь, для программиста это означает стальные рамки поведения: для вас больше не должно существовать переменных и констант типа char и нет никакой возможности выбрать символ по индексу в строке как в массиве символов. И вы не имеете права применять никакие функции для типов String/AnsiString с указанием позиции символа в строке, задаваемого вами «вручную», если хотите корректных результатов.


И да, текст исходника в редакторе надо вручную переключить в UTF8, если проект перегонялся из delphi, то файлы так и остались в cp1251.
SSerge
энтузиаст
 
Сообщения: 971
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: Lazarus 0.9.30.20 и глюки

Сообщение Vadimus » 24.01.2012 14:25:32

Спасибо большое всем откликнувшимся!

Со строками разобрался, переключил кодировку файлов на utf-8 и всё поперло. :)
С багами отладчика и редактора не стал бороться, установил версию 0.9.30 и глюки пропали.

Padre_Mortius писал(а):1. Так и должно быть, исправляется галкой в настройках проекта "графическое приложение Win32"

К сожалению не нашел такой опции...
Vadimus
новенький
 
Сообщения: 19
Зарегистрирован: 11.02.2011 16:56:16

Re: Lazarus 0.9.30.20 и глюки

Сообщение xcod » 24.01.2012 18:13:34

Vadimus писал(а):К сожалению не нашел такой опции...

проект-параметры проекта-компоновка
xcod
постоялец
 
Сообщения: 108
Зарегистрирован: 07.08.2009 12:37:23


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru