Тестирование версии 0.9.27
Модератор: Модераторы
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Тестирование версии 0.9.27
По аналогии с этой темой я прошу провести тестирование версии 0.9.27. Времени до выхода, конечно, еще не неделя. По моим предположениям примерно месяц-полтора. Тем не менее, в баг-трекере я не вижу отчетов о возвращенных/новых ошибках. Есть лишь патчи и проблемы которые желательно решить до выпуска новой версии. Да и большинство проблем связано со средой, а не с компонентами.
Таким образом, LCL уже сильно меняться не будет и желательно начать на нем проверить свои проекты. Писать об ошибках можно в баг-трекер или в эту тему.
Таким образом, LCL уже сильно меняться не будет и желательно начать на нем проверить свои проекты. Писать об ошибках можно в баг-трекер или в эту тему.
Добрый день Павел , по поводу процедуры FindChildControl , потомки типа TSpeedButton и схожие ищутся , а возможно чтобы она искала и невизуальные компоненты?пока для них она возращает значение nil (в моем случае TZQuery)
вообще непойму зачем все эти лишние ограничения по идее в чем проблема просто осуществлять поиск в масиве подчиненых контролов по имени
вообще непойму зачем все эти лишние ограничения по идее в чем проблема просто осуществлять поиск в масиве подчиненых контролов по имени
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Не... child control. Control = наследник TControl.
Невизуальные компоненты не являются потомками TControl и не имеют родителя (Parent), только владельца (Owner), которым чаще всего является форма.
Для поиска нужно использовать метод FindComponent владельца.
Для поиска нужно использовать метод FindComponent владельца.
На какой FPC ориентироваться, 2.2.4, 2.3.1 или оба?
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Релиз будет идти в комплекте с 2.2.4, но 2.3.1 тоже поддерживается (и даже лучше).
Linux x86_64, QT-4.5
-----
Ошибка среды разработки.
Lazarus откомпилирован в QT.
Если в редакторе несколько вкладок и текущая не является крайней правой, то при открытии нового файла, вкладка стоящая справа, от вновь открытой, переименовывается на "unit1". Проявляется постоянно. В GTK подобного эффекта нет.
QT. Ошибка TMemo.
Не работает MaxLenght
QT. Ошибка TCombobox.
Не работает автозаполнение в кирилице.
-----
Ошибка среды разработки.
Lazarus откомпилирован в QT.
Если в редакторе несколько вкладок и текущая не является крайней правой, то при открытии нового файла, вкладка стоящая справа, от вновь открытой, переименовывается на "unit1". Проявляется постоянно. В GTK подобного эффекта нет.
QT. Ошибка TMemo.
Не работает MaxLenght
QT. Ошибка TCombobox.
Не работает автозаполнение в кирилице.
-
Павел Ишенин
- постоялец
- Сообщения: 475
- Зарегистрирован: 24.03.2007 09:16:52
Это новые ошибки или старые
?
Про вкладки - это точно старые.
Павел Ишенин писал(а):Это новые ошибки или старые?
Старые, давно уже тянутся.
У меня есть несколько глюков, но беда в том, что они проявляются только в моем проекте (довольно большом), а если вытащить отдельные компоненты в новый проект, то все работает правильно. Самая большая беда в том, что программа моя - клиент бд, так что сюда проект выкладывать бессмысленно...
Примеры глюков:
1) метод TComboBox.SetBounds некорректно задает положение комбобокса (свойство Top). Комбобокс по смыслу должен появляться над ячейкой сетки, над которой располагается курсор, и прятаться, когда курсор уходит с сетки. При первом появлении комбобокса после запуска программы передаю в SetBounds значение Top = 61, на выходе получаю 59 (и комбобокс рисуется на два пикселя выше ячейки).
2) Кострукция выдает access violation, причем ошибка возникает после выхода из MyProcedure. Такая конструкция в этом случае должна выдавать окно с сообщением об ошибке, а она ничего не выдает, как будто никаких ошибок и нет...
Примеры глюков:
1) метод TComboBox.SetBounds некорректно задает положение комбобокса (свойство Top). Комбобокс по смыслу должен появляться над ячейкой сетки, над которой располагается курсор, и прятаться, когда курсор уходит с сетки. При первом появлении комбобокса после запуска программы передаю в SetBounds значение Top = 61, на выходе получаю 59 (и комбобокс рисуется на два пикселя выше ячейки).
2) Кострукция
Код: Выделить всё
procedure TMainForm.GridDblClick(Sender: TObject);
begin
MyProcedure;
end;Код: Выделить всё
procedure TMainForm.GridDblClick(Sender: TObject);
begin
try
MyProcedure;
except
on E:Exception do
ShowMessage(E.Message);
end;
end;2) Кострукция
возможно exception происходит при выходе из GridDblClick.
более того, скорее всего ошибка возникает по вине MyProcedure.
диагностировать удобно при помощи дизассемблера. Либо отключать части кода внутри MyProcedure, и следить за тем, отключение какого куска избавляет от возникновения исключения.
To: Climber
У меня нечто подобное на большом проекте было под GTK2(на маленьком не проявлялось), только c TAction. Помогло Application.ProcessMessages; прописанное в самом начале процедуры. Сейчас пробую воспроизвести данную ошибку, но либо ее ликвидировали в 0.9.27, либо не та ситуация.
У меня нечто подобное на большом проекте было под GTK2(на маленьком не проявлялось), только c TAction. Помогло Application.ProcessMessages; прописанное в самом начале процедуры. Сейчас пробую воспроизвести данную ошибку, но либо ее ликвидировали в 0.9.27, либо не та ситуация.
Ну, установил я ваш Лазарус, делюсь впечатлениями.
1) 1,7-меговая пустая форма не есть хорошо. Это с параметром -Xg, без него 12 Мб. Не понятно, почему этот параметр не установлен по умолчанию и зачем вообще запихивать в exe-шник отладочную информацию?
2) Компоненты MySQL довольно странные. Зачем понадобилось делать отдельный компонент для каждой версии мускуля? 4.0, 4.1, 5.0? На моей машине, например, стоит 5.1, и что мне делать? Даунгрейдиться ради Лазаруса до 5.0? В Дельфях есть TSQLConnection, который работает с чем угодно, лишь бы указать ему dll-ку. TMySQL50Connection с dll-кой от MySQL 5.1 работать не хочет.
3) Может быть, ODBCConnection спасёт? Фигу - "Access Violation" (при установке Connected в True).
4) На форме ODBCConnection (1 штук) и кнопка (1 штук). Метод OnClick не установлен. Компилю проект, запускаю формочку. Вроде нормально. Дальше закрываю запущенную форму, вижу окошко "Выполнение остановлено". Теперь дабл-кликаю на кнопке (на редакторе формы), чтобы описать действия в Onclick, но появляется сообщение об ошибке "Редактор компонента для класса TDefaultComponentEditor вызвал ошибку: невозможно найти метод, исправьте ошибки в окне сообщений".
5) Еще пробегали "Access Violation" (раз 10), но я не понял, при каких условиях они возникают.
Вывод после 1 дня разбирательства: сыровато. До версии 1.0 ещё очень далеко.
------------------
Ну и небольшой поток мыслей "на тему". Зачем вообще нужен Лазарус?
Кроссплатформенность? Но ведь есть QT SDK, кстати LGPL-ный, чем он хуже? Тем, что там надо кодить на C++, а не на Паскале? Но можно написать транслятор с Паскаля на C++, сделать QT SDK двуязычным. По-моему, это гораздо легче. 99,9% всех паскалевских/дельфовых конструкций без проблем транслируемо на C++.
Кроме того, есть Delphi+QT, раз уж так хочется "натурального" паскаля. Правда, Дельфя проприентарная, а Лазарус свободный. Но так ли это важно для прикладного разработчика? Он ведь сам не будет модифицировать под себя код Лазаруса, зачем ему исходники? А готовую прикладную программу никто не мешает выпустить под GPL.
1) 1,7-меговая пустая форма не есть хорошо. Это с параметром -Xg, без него 12 Мб. Не понятно, почему этот параметр не установлен по умолчанию и зачем вообще запихивать в exe-шник отладочную информацию?
2) Компоненты MySQL довольно странные. Зачем понадобилось делать отдельный компонент для каждой версии мускуля? 4.0, 4.1, 5.0? На моей машине, например, стоит 5.1, и что мне делать? Даунгрейдиться ради Лазаруса до 5.0? В Дельфях есть TSQLConnection, который работает с чем угодно, лишь бы указать ему dll-ку. TMySQL50Connection с dll-кой от MySQL 5.1 работать не хочет.
3) Может быть, ODBCConnection спасёт? Фигу - "Access Violation" (при установке Connected в True).
4) На форме ODBCConnection (1 штук) и кнопка (1 штук). Метод OnClick не установлен. Компилю проект, запускаю формочку. Вроде нормально. Дальше закрываю запущенную форму, вижу окошко "Выполнение остановлено". Теперь дабл-кликаю на кнопке (на редакторе формы), чтобы описать действия в Onclick, но появляется сообщение об ошибке "Редактор компонента для класса TDefaultComponentEditor вызвал ошибку: невозможно найти метод, исправьте ошибки в окне сообщений".
5) Еще пробегали "Access Violation" (раз 10), но я не понял, при каких условиях они возникают.
Вывод после 1 дня разбирательства: сыровато. До версии 1.0 ещё очень далеко.
------------------
Ну и небольшой поток мыслей "на тему". Зачем вообще нужен Лазарус?
Кроссплатформенность? Но ведь есть QT SDK, кстати LGPL-ный, чем он хуже? Тем, что там надо кодить на C++, а не на Паскале? Но можно написать транслятор с Паскаля на C++, сделать QT SDK двуязычным. По-моему, это гораздо легче. 99,9% всех паскалевских/дельфовых конструкций без проблем транслируемо на C++.
Кроме того, есть Delphi+QT, раз уж так хочется "натурального" паскаля. Правда, Дельфя проприентарная, а Лазарус свободный. Но так ли это важно для прикладного разработчика? Он ведь сам не будет модифицировать под себя код Лазаруса, зачем ему исходники? А готовую прикладную программу никто не мешает выпустить под GPL.
uuu2 писал(а):Ну и небольшой поток мыслей "на тему". Зачем вообще нужен Лазарус?
Если бы все так думали то бы и Делфи не появился все бы кодили на ассемблере зачем чето создавать если есть язык который самый компактный а главное родной язык процессора
uuu2 писал(а): Но ведь есть QT SDK, кстати LGPL-ный, чем он хуже? Тем, что там надо кодить на C++, а не на Паскале? Но можно написать транслятор с Паскаля на C++, сделать QT SDK двуязычным. По-моему, это гораздо легче. 99,9% всех паскалевских/дельфовых конструкций без проблем транслируемо на C++.
ну да еще 5 лет создавать IDE чтобы потом такой же ухарь сказал что сыровато и до делфи не дотягивает, как грится не нравится не берись сиди на любимом Делфи ведь ты это написал чтобы просто показать что делфи это круто а Лазарь ничего не стоит
uuu2 писал(а):Кроме того, есть Delphi+QT, раз уж так хочется "натурального" паскаля. Правда, Дельфя проприентарная, а Лазарус свободный. Но так ли это важно для прикладного разработчика? Он ведь сам не будет модифицировать под себя код Лазаруса, зачем ему исходники? А готовую прикладную программу никто не мешает выпустить под GPL.
Ну к примеру с тобой понятно что ты не будешь, лень сделала свое дело, а за всех зачем говорить, ведь благодаря таким людям которые хотят что то делать, ты и тоже Делфи увидел,
Откуда вообще берутся такие базарофлудеры, спросили о текущих недочетох, нашелся пришел рыцарь на белом коне, профи, а есть подозрение что ты казачок и в делфях посредственность...(если так все не нравится дуй и пиши в своем делфи все готовое, и лицензию покупай на одно раб место самая простая одна штука убитых енотов, тока с твоим гонором тебе нужна делфи на 5-10 килобаксов)
Прошу всех прощения просто утомили вот такие деятели ))
