Когда выйдет Lazarus 9.26?

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

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

Re: Когда выйдет Lazarus 9.26?

Сообщение sobee » 28.08.2008 23:42:37

Уважаемые вы о чем спорите? У меня упал проект, после замены в Лазаре FPC c 2.2.0 на 2.2.2, где был использован календарь из RxFPC. В проекте, где использован календарь из стандартной поставки ни каких проблем с кодировкой нет.
sobee
новенький
 
Сообщения: 84
Зарегистрирован: 05.02.2008 00:23:46
Откуда: Снежинск, Челябинская обл.

Re: Когда выйдет Lazarus 9.26?

Сообщение Logo » 29.08.2008 02:01:36

v-t-l писал(а):Вообще-то, по уму надо было бы сделать в fpc, как в последней делфе - все string по умолчанию равны widestring (UTF-16), удобнее было бы.
Или добавить опцию компилятора для такого режима.

100%
Опцию и только опцию. Дело в том, что есть приложения, где UTF не нужен.

Добавлено спустя 16 минут 11 секунд:
Attid писал(а):жалусь гтк2 линукс
Код: Выделить всё
  InputQuery('caption','promt',vstr);

в аттаче

дебург и showmessage так и не работает =( прошу подтвердить или опровергнуть, тогда я себе систему переустановлю.

а вот проблема с модальностью
.......

Я проверил на fpc 2.3.1 и Lazarus 9.25beta с SVN 28.08.08
В GTK2 не вижу проблем с InputQuery('caption','promt',vstr);
Дебагер - работает;
showmessage - работает;
Пример с модальностью - работает;(закоментировал строку Caption:=IntToStr(StrToInt(Self.Caption)+1);)
--------------------------------------
Значения переменных в дебагере отображаются не всегда хорошо, кирилица в кодах, значения некоторых переменных вообще не отображает...., но работать можно, помогает.
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Когда выйдет Lazarus 9.26?

Сообщение Attid » 29.08.2008 07:59:44

мне про модальность вот что ответили .
The gtk intf only supports at the moment:
- multiple non modal forms any z-order
- multiple non modal forms plus modal forms on top of the non modal forms, z-order of modal forms can not be changed once they are shown

the gtk_window_set_transient_for allows to define that one form must be in front of another. Without it, the modal windows would be no longer modal.

вот теперь не пойму сам я дурак или как =/ и почему если гтк так не может, то все остальное что не гтк работает нормально.

Logo
покажи версию ядра\иксов\гтк\и gdb плиз.


showmessage если вручную запустить в дебаге показывает вот что :
Код: Выделить всё
Starting program: /tmp/project1

[Thread debugging using libthread_db enabled]
[New Thread -1218242896 (LWP 9663)]

Program received signal SIGFPE, Arithmetic exception.
[Switching to Thread -1218242896 (LWP 9663)]
0xb779666c in cairo_debug_reset_static_data () from /usr/lib/libcairo.so.2
(gdb) n
Single stepping until exit from function cairo_debug_reset_static_data,
which has no line number information.
0x08073240 in SYSTEM_SIGNALTORUNERROR$LONGINT$PSIGINFO$PUCONTEXT ()
(gdb) n
Single stepping until exit from function SYSTEM_SIGNALTORUNERROR$LONGINT$PSIGINFO$PUCONTEXT,
which has no line number information.
0x0805c910 in SYSTEM_LINUX_RESTORE_RT ()
(gdb) n
Single stepping until exit from function SYSTEM_LINUX_RESTORE_RT,
which has no line number information.
0x0806c6d0 in SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER ()
(gdb) n
Single stepping until exit from function SYSTEM_HANDLEERRORADDRFRAME$LONGINT$POINTER$POINTER,
which has no line number information.
0x080b0c80 in SYSUTILS_RUNERRORTOEXCEPT$LONGINT$POINTER$POINTER ()
(gdb) n
Single stepping until exit from function SYSUTILS_RUNERRORTOEXCEPT$LONGINT$POINTER$POINTER,
which has no line number information.
TApplication.HandleException Invalid floating point operation
  Stack trace:
  $B779666C
  $B77A6FED
  $B779D474
  $B7797C43
  $B7792D82
  $B3AE60AE
  $B3AE0FFE
  $B3AD6ADB
  $B3AD964E
  $B3AD98AA
  $B3AD964E
  $B3AD98AA
  $B3AD964E
  $B3AD98AA
  $B3AD964E
  $B3ADA0FF
  $B3AD964E

Program received signal SIGFPE, Arithmetic exception.
0xb3ac1f7d in ?? () from /usr/lib/librsvg-2.so.2


а программа висит.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Когда выйдет Lazarus 9.26?

Сообщение Padre_Mortius » 29.08.2008 08:18:49

ShowMessage под GTK2 работает нормально.
С модальностью на нескольких окнах все хорошо (2 окна, больше пока не использовал)
А вот с TEdit проблема похоже не только у меня)

P.S. Прыгаюшее окно с компонентами это прикольно)

Добавлено спустя 1 минуту 47 секунд:
P.P.S. Проверялось под AspLinux 12
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Когда выйдет Lazarus 9.26?

Сообщение Attid » 29.08.2008 10:23:38

Padre_Mortius писал(а):(2 окна, больше пока не использовал)

дык у меня до 5 модальных окон может быть. баг видно начиная с 3 окошка.

да и в том же лазаре у меня окна прыгают.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Когда выйдет Lazarus 9.26?

Сообщение Павел Ишенин » 29.08.2008 14:43:03

Ничего не полнял из обсуждения, но если вы сможете выразить на английском в чем суть проблемы и написать об этом в баг-трекер, то она (проблема) однозначно будет решаться.
Павел Ишенин
постоялец
 
Сообщения: 475
Зарегистрирован: 24.03.2007 10:16:52

Re: Когда выйдет Lazarus 9.26?

Сообщение Logo » 29.08.2008 14:52:54

Attid писал(а):Logo
покажи версию ядра\иксов\гтк\и gdb плиз.

Проверял на Mandriva 2008.1 x86_64
GNU gdb 6.6-5mdv2008.1
2.6.24.7-desktop-1mnb
xorg 7.2, KDE 3.5.9
GTK 2.10

Lazarus и fpc с SVN за 28.08.2008
Открыл 50 модальных окон, - без проблем. Ctrl-F2 закрыло все без ошибок. 10 открытых форм, последовательно закрылись без проблем.

Открывалка:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var vstr: string;
begin
  with TForm1.Create(Self) do
  try
  //  Caption:=IntToStr(StrToInt(Self.Caption)+1);
    Button1.Caption:= Caption;
    Left:= Self.Left + 50;
    Top:= Self.Top + 50;
    ShowModal;
  finally
    free;
  end;
end;


Если нужно, то могу к утру 30.08.08 проверить на Убунте x86_64 и Debian i386.

Добавлено спустя 8 минут 10 секунд:
Padre_Mortius писал(а):...
А вот с TEdit проблема похоже не только у меня)

А вчем проявляется проблема TEdit?

Добавлено спустя 3 минуты 19 секунд:
Павел Ишенин писал(а):Ничего не полнял из обсуждения, но если вы сможете выразить на английском в чем суть проблемы и написать об этом в баг-трекер, то она (проблема) однозначно будет решаться.

Так вот и разбираемся, в чем проблема, в окружении или в fpc/Lazarus :)
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Когда выйдет Lazarus 9.26?

Сообщение Padre_Mortius » 29.08.2008 16:05:18

Logo писал(а):А вчем проявляется проблема TEdit?


Не попадают данные в TEDit. Если получится создать testcase, то выложу в багрепорт

А пляшущее окно можно посмотреть. если сделать полноэкранный размер основного окна Lazarus. Хотя это проблема обновления закладок инструментов
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Когда выйдет Lazarus 9.26?

Сообщение Attid » 29.08.2008 20:06:04

вродебы на гтк2,12 (убунту 7,10 и выше) все норм, пока проверил только бинарники. на неделе переставлю систему тогда будет точно видно.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Когда выйдет Lazarus 9.26?

Сообщение Padre_Mortius » 30.08.2008 10:28:38

Padre_Mortius писал(а):Не попадают данные в TEDit. Если получится создать testcase, то выложу в багрепорт


C этим вопросом все ок. Разобрался. Перемудрил малость.
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: Когда выйдет Lazarus 9.26?

Сообщение Attid » 30.08.2008 21:56:37

чет с этим ютф больше непоняток чем полезностей =)

во первых не понимаю как взять символ из строки
s: string
showmessage(s[0]);
работает только с латиницей.

ну и как сделать его uppercase тоже не пойму. =(

Добавлено спустя 2 часа 59 минут 21 секунду:
ой а как красиво выглядит таблица символов =) на нее кто нибуть заглядывал ? =) а то в 9,25 оно выглядит весело =)
пойду в мантис посмотрю может кто жаловался
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Когда выйдет Lazarus 9.26?

Сообщение Logo » 31.08.2008 01:56:08

Немного примеров и коментарии к ним. Может поможет разобраться. Вся проблема в том, что WideString занимает 2 байта для символа и это нужно учитывать. Если строка явно указа, как Wide, то все функции знают, как с ней поступать. Многие компоненты еще не работают правильно с WideString, тоесть с кирилицей :(

Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var s0, s1 : string;
    sw0, sw1: WideString;

begin
   s0 := 'чет с этим ютф больше непоняток чем полезностей =) ';

   Label1.Caption := s0[12];//получаем неверный результат, так как один символ занимает 2 байта
   Label2.Caption := WideString(s0)[12];//приводим AnsiString к WideString, - результат верный

   sw0 := s0; //присваеваем значение String строке WideString
   s1 := sw0[12]; //берем 12-й символ и символ снова присваиваем переменной String
   Label3.Caption := s1; //Результат верный

   Label4.Caption := Copy(s0, Length(s0)-14, 14);
             //Получаем строку в ~два раза меньше с испорченым первым символом
   Label5.Caption := Copy(WideString(s0), Length(WideString(s0))-14, 14);
             //теперь Copy знает, что строка двухбайтовая и результат верный

   showmessage('String приведенная к WideString: '
         + WideString(s0)[1] +' - ' + Copy(WideString(s0), Length(WideString(s0))-14, 14)
         + #0013 + 'А это WideString: ' + sw0[1] + ' - ' + Copy(sw0, Length(sw0)-14, 14));
//Вроде правильно, но мы получаем "кашу", - функция преобразования не могла разобраться в смешаных строках

//Попробуем присвоить строку в WideString и вывести ее
   sw1 := 'String приведенная к WideString: '
         + WideString(s0)[1] +' - ' + Copy(WideString(s0), Length(WideString(s0))-14, 14)
         + #0013 + 'А это WideString: ' + sw0[1] + ' - ' + Copy(sw0, Length(sw0)-14, 14);
   showmessage(sw1);//результат тот же

//Смешаную строку сначала присваиваем в AnsiString. ТОЛЬКО ТАК.
//Это конечно тупо выглядит, но ничего не поделаешь, присваивать придется последовательно.
// Может это немного и можно оптимизировать, я просто быстро набросал принцип
   s1 := 'String приведенная к WideString: ';
   s1 := s1 + WideString(s0)[1] +' - ' + Copy(WideString(s0), Length(WideString(s0))-14, 14);
   s1 := s1 + #13;
   s1 := s1 + 'А это WideString: ';
   s1 := s1 + sw0[1] + ' - ' + Copy(sw0, Length(sw0)-14, 14);
   showmessage(s1);//Теперь отображается строка верно

   sw1 := s1;// Преопразование будет правильно работать если AnsiString присвоить WideString
   showmessage(AnsiUpperCase(sw1));//Отображение верное. Showmessage внутри снова преобразует Wide в Ansi
    //Если применить UpperCase, то только латиница буде преобразована к верхнему регистру
end;
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Re: Когда выйдет Lazarus 9.26?

Сообщение Attid » 31.08.2008 10:12:02

а я чет AnsiUpperCase даже не стал пробывать, он ведь анси а utfupper не нашел =)

а с WideString я прекрастно и в МСЕ работаю правда и принципы знаю, правда там оно завется отдельным msestring только чет про аналогии не подумал, спасибо.
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Когда выйдет Lazarus 9.26?

Сообщение Attid » 01.09.2008 18:36:47

чет отладил с AnsiUpperCase в лине прогу, а в венде оно какой-то ЙЦУКЕН(чтоб не матерится) возврощает =(
Аватара пользователя
Attid
долгожитель
 
Сообщения: 2585
Зарегистрирован: 27.10.2006 17:29:15
Откуда: 44°32′23.63″N 41°2′25.2″E

Re: Когда выйдет Lazarus 9.26?

Сообщение Logo » 01.09.2008 21:01:46

Функция AnsiUpperCase возвращает "ЙЦУКЕН", или вообще со строками такое?
А в Windows Lazarus тоже UTF юзает, или cp-1251?
Logo
постоялец
 
Сообщения: 464
Зарегистрирован: 20.08.2008 01:00:47

Пред.След.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru