Просьба плотно потестировать Lazarus
Модератор: Модераторы
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Дело точно не в fpc. Поменял на версию 2.3.1.
Добавлено спустя 5 минут 40 секунд:
Дело было в отладчике. поменял на другой файл этой же версии и все заработало
Добавлено спустя 4 минуты 2 секунды:
Вечером проверю насчет версии fpc
Добавлено спустя 5 минут 40 секунд:
Дело было в отладчике. поменял на другой файл этой же версии и все заработало
Добавлено спустя 4 минуты 2 секунды:
Вечером проверю насчет версии fpc
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Дело было в отладчике. поменял на другой файл этой же версии и все заработало
Может отладчик лежал в каталоге с русскими буквами?
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
нет. он лежал как раз в папке с латинскими буквами. Но счастье было не долгое. После перезапуска началась та же чехорда.Вечером будет немного времени попробую сесть и разобраться. Рабочая папка передается нормально в TProcess, но на каком этапе он получает вместо русских букв их коды пока осталось непонятным. Не было возможности глубже ковырнуть это дело.
Добавлено спустя 4 минуты 15 секунд:
пересборка после "Файл" --> "Перезапуск" приводит к ошибке "C:\lazarus\ide\startlazarus.lpr(51,1) Error: Can't create object file: ..\startlazarus.exe"
Добавлено спустя 4 минуты 15 секунд:
пересборка после "Файл" --> "Перезапуск" приводит к ошибке "C:\lazarus\ide\startlazarus.lpr(51,1) Error: Can't create object file: ..\startlazarus.exe"
Я же говорю, это проблемы fpc 2.3.1 надо откатиться на 2.2.2 и все станет работать, у меня эта проблема почти месяц назад была...
-
Padre_Mortius
- энтузиаст
- Сообщения: 1265
- Зарегистрирован: 29.05.2007 17:38:07
- Откуда: Спб
Сообщение в консоли
Добавлено спустя 48 секунд:
wavebvg
на 2.2.2 тоже самое
Код: Выделить всё
Free Pascal Compiler version 2.3.1 [2008/09/05] for i386
Copyright (c) 1993-2008 by Florian Klaempfl
Target OS: Win32 for i386
Compiling startlazarus.lpr
Compiling resource startlazarus.rc
Compiling resource ..\units\i386-win32\startlazarus.or
Linking ..\startlazarus.exe
startlazarus.lpr(51,1) Error: Can't create object file: ..\startlazarus.exe
startlazarus.lpr(51,1) Fatal: Can't create executable ..\startlazarus.exe
TExternalToolList.Run Exception: C:\lazarus\ide\startlazarus.lpr(51,1) Fatal: Ca
n't create executable ..\startlazarus.exe
TMainIDE.DoBuildLazarus: Building standard components (LCL, SynEdit, CodeTools)
failed.
Добавлено спустя 48 секунд:
wavebvg
на 2.2.2 тоже самое
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
пересборка после "Файл" --> "Перезапуск" приводит к ошибке "C:\lazarus\ide\startlazarus.lpr(51,1) Error: Can't create object file: ..\startlazarus.exe"
Конечно, так как startlazarus запущен. Эту проблему можно решить убрав сборку стартера из диалога, если startlazarus запущен. В любом случае это не тот баг, который будет правиться перед 0.9.26
Linux x86_64, kernel 2.6.24, KDE 3.5.9, QT 4.3.4, GTK-2 2.10, FPC 2.2.2, Lazarus rev.16397
Многие ошибки в связке Lazarus/fpc 2.2.2 решены - СПАСИБО!
TImage:
QT работает.
GTK-2 альфа канал не работает, все маскируется. Раньше альфа канал работал, но на фоне сыпало шум
TSQLQuery:
При попытке в Edit Fields (двойной щелчек на компонете) добавить поля, Lazarus виснет, либо через время выдает ошибку "Access violation". Иногда при повторной попытке поле создается.
TComboBox:
QT работает, но не работает свойство AutoCompleteText - [cbactRetainPrefixCase]. Первый символ всегда тот, который введен с клавиатуры.
GTK-2 AutoComlete с кирилицей (UTF) не работает. Записи в латинице находятся, а кирилические нет. Проблема в customcombobox.inc
iSelStart имеет правильное значение в символах, а Length(Text) возвращает значение в байтах и если в строке есть кирилица, то это значение всегда больше iSelStart. (У себя я преобразовал Text в WideString, но как это вписывается в общую концепцию Lazarus, не знаю)
Следующая проблема, это чувствительность к регистру. Проблема в модуле lclproc.pas
QT - Если используются DB компоненты, а в базе данных юникодовские поля, то программа либо виснет, либо "Access violation". Причина, видимо, в неверном выделении буфера. Определяется длина строки в символах, а выделяется в байтах. Подобную проблему я устранял в TPQConnection, но это модуль fpc, а не Lazarus.
Пока вроде все. Многие баги уже исправлены.
Добавлено спустя 1 минуту 49 секунд:
Баги GTK-2, присутствуют и в GTK
Многие ошибки в связке Lazarus/fpc 2.2.2 решены - СПАСИБО!
TImage:
QT работает.
GTK-2 альфа канал не работает, все маскируется. Раньше альфа канал работал, но на фоне сыпало шум
TSQLQuery:
При попытке в Edit Fields (двойной щелчек на компонете) добавить поля, Lazarus виснет, либо через время выдает ошибку "Access violation". Иногда при повторной попытке поле создается.
TComboBox:
QT работает, но не работает свойство AutoCompleteText - [cbactRetainPrefixCase]. Первый символ всегда тот, который введен с клавиатуры.
GTK-2 AutoComlete с кирилицей (UTF) не работает. Записи в латинице находятся, а кирилические нет. Проблема в customcombobox.inc
Код: Выделить всё
484 procedure TCustomComboBox.KeyUp(var Key: Word; Shift: TShiftState);
...
499 if ((iSelStart < Length(Text)) and (cbactEndOfLineComplete in FAutoCompleteText)) then Exit;
iSelStart имеет правильное значение в символах, а Length(Text) возвращает значение в байтах и если в строке есть кирилица, то это значение всегда больше iSelStart. (У себя я преобразовал Text в WideString, но как это вписывается в общую концепцию Lazarus, не знаю)
Следующая проблема, это чувствительность к регистру. Проблема в модуле lclproc.pas
Код: Выделить всё
534 function GetCompleteText(sText: string; iSelStart: Integer;
bCaseSensitive, bSearchAscending: Boolean; slTextList: TStrings): string;
function IsSamePrefix(sCompareText, sPrefix: string; iStart: Integer;
var ResultText: string): Boolean;
var sTempText: string;
begin
Result := False;
sTempText := LeftStr(sCompareText, iStart);
if not bCaseSensitive then sTempText := AnsiUpperCase(sTempText); //UpperCase меняем на AnsiUpperCase
QT - Если используются DB компоненты, а в базе данных юникодовские поля, то программа либо виснет, либо "Access violation". Причина, видимо, в неверном выделении буфера. Определяется длина строки в символах, а выделяется в байтах. Подобную проблему я устранял в TPQConnection, но это модуль fpc, а не Lazarus.
Пока вроде все. Многие баги уже исправлены.
Добавлено спустя 1 минуту 49 секунд:
Баги GTK-2, присутствуют и в GTK
Последний раз редактировалось Logo 06.09.2008 03:57:25, всего редактировалось 2 раза.
При проектировании на Lazarus под Windows не работают процедуры: Memo1.lines.loadfromfile(имя файла) и Listbox1.items.loadfromfile(имя файла). Ничего не происходит, хотя обратные действия Memo1.lines.savetofile(имя файла) и Listbox1.items.(имя файла) работают нормально. Кто подскажет в чем тут дело, или это "глюк" Лазаруса?
Кодировка файла должна быть UTF-8.
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
TSQLQuery:
При попытке в Edit Fields (двойной щелчек на компонете) добавить поля, Lazarus виснет, либо через время выдает ошибку "Access violation". Иногда при повторной попытке поле создается.
Это ошибка в модуле sqldb.pp, который часть fpc. Пишити в баг-трекер fpc.
-
giantdragon
- незнакомец
- Сообщения: 6
- Зарегистрирован: 04.09.2008 20:35:27
Решил написать здесь по поводу проблемы viewtopic.php?f=5&t=3638 , может разработчики заметят.
Написал в багтрекер, админ почти сразу поменял важность ошибки c major (как я установил) на feature (т.е. самый низкий приоритет). Там же нашёл ещё несколько сообщений о данной ошибке, такое ощущение что разработчики вообще не хотят её исправлять... Очень жаль, ведь новички попробуют Lazarus, увидят неработающий отладчик (сомневаюсь, что человек только перешедший с Delphi догадается как исправить этот баг), и сразу же сотрут его.
http://bugs.freepascal.org/view.php?id=12085
Написал в багтрекер, админ почти сразу поменял важность ошибки c major (как я установил) на feature (т.е. самый низкий приоритет). Там же нашёл ещё несколько сообщений о данной ошибке, такое ощущение что разработчики вообще не хотят её исправлять... Очень жаль, ведь новички попробуют Lazarus, увидят неработающий отладчик (сомневаюсь, что человек только перешедший с Delphi догадается как исправить этот баг), и сразу же сотрут его.
http://bugs.freepascal.org/view.php?id=12085
Павел Ишенин писал(а):TSQLQuery:
При попытке в Edit Fields (двойной щелчек на компонете) добавить поля, Lazarus виснет, либо через время выдает ошибку "Access violation". Иногда при повторной попытке поле создается.
Это ошибка в модуле sqldb.pp, который часть fpc. Пишити в баг-трекер fpc.
Ок! Спасибо за наводку.
- NXP
- постоялец
- Сообщения: 187
- Зарегистрирован: 02.01.2008 15:11:56
- Откуда: Воронеж
- Контактная информация:
У меня на Lazarus 0.9.25 грохается программа, при попытке выполнить SQLQuery.Open или Exec.
DAC: PostgreSQL 8.3.1
Пришлось откатится на 0.9.24
Расследование не делал, ибо время дороже.
Однако try except ... end не отлавливают событие...
Программа вылетает
DAC: PostgreSQL 8.3.1
Пришлось откатится на 0.9.24
Расследование не делал, ибо время дороже.
Однако try except ... end не отлавливают событие...
Программа вылетает
NXP писал(а):У меня на Lazarus 0.9.25 грохается программа, при попытке выполнить SQLQuery.Open или Exec.
DAC: PostgreSQL 8.3.1
Пришлось откатится на 0.9.24
Расследование не делал, ибо время дороже.
Однако try except ... end не отлавливают событие...
Программа вылетает
Шото не замечал. Какой fpc? и если можно примерчик, интересно, что за глюк. И еще, данные кирилические? Кодировка данных наверное UTF-8. Windows или Linux?
Вообще то это проблема fpc, я сейчас этим модулем занимаюсь и очень прошу дать больше информации.
Добавлено спустя 36 минут 12 секунд:
Какой интерфейс, Win32, GTK или QT?
- NXP
- постоялец
- Сообщения: 187
- Зарегистрирован: 02.01.2008 15:11:56
- Откуда: Воронеж
- Контактная информация:
Я использовал Daily Snapshot (win32)
Lazarus-0.9.25-fpc-2.2.3-20080807-win32.exe
Вот участки кода:
А запрос к примеру так:

Lazarus-0.9.25-fpc-2.2.3-20080807-win32.exe
Вот участки кода:
Код: Выделить всё
//*****************************************************************
// Подключение к PostgreSQL
//
function PG_Init(Host, User, Pass, Database: string): Boolean;
begin
Result:= True;
try
SQLQuery:= TSQLQuery.Create(nil);
SQLTransaction:= TSQLTransaction.Create(nil);
PGConnection:= TPQConnection.Create(nil);
PGConnection.HostName:= Host;
PGConnection.UserName:= User;
PGConnection.Password:= Pass;
PGConnection.DatabaseName:= Database;
PGConnection.Open;
SQLQuery.DataBase:= PGConnection;
SQLQuery.Transaction:= SQLTransaction;
SQLTransaction.DataBase:= PGConnection;
PGConnection.Transaction:= SQLTransaction;
except
on E: Exception do begin
Result:= False;
Application.MessageBox(pChar(E.Message), 'Ошибка подключения ', MB_OK + MB_ICONERROR);
end;
end;
end;
А запрос к примеру так:
Код: Выделить всё
SQLQuery.SQL.Text:= 'SELECT * FROM ' + Tab_Name + ' WHERE id=' + IntToStr(Index);
try
SQLQuery.Open;
if (not SQLQuery.EOF) then begin
if (SQLQuery.Fields.Count <= FieldNum) then
Result:= ''
else
Result:= SQLQuery.Fields.Fields[FieldNum].AsString;
end;
SQLQuery.ClearFields;
finally
SQLQuery.Close;
end;
У вас нет необходимых прав для просмотра вложений в этом сообщении.
