Ещё ошибки киньте в багрепорт

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

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

Сообщение alexs » 27.10.2005 01:13:54

Вот ещё накропал в лазаре

TDBImage нет свойства Anchors
TDBCheckBox не сохраняет результат редактирования в таблице

киньте кто-нибудь в багрепорт
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение alexs » 28.10.2005 16:04:58

АУ - кто нибудь отозвался?

Ещё накропал ошибки (мучаю компонент TCurrencyEdit из RX):
не срабатывают сообщения LM_ENTER и LM_EXIT

не работает функция FormatFloat если в строке форматирования присутсвуют кавычки (не важно одинарные или двойные) - т.е. на конструкции типа
A := FormatFloat('#,##0.00"р."', 125.20)
функция повесится

там напутали с закрывающими end-ми в цикле форматирования
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Сергей Смирнов » 28.10.2005 20:42:09

не срабатывают сообщения LM_ENTER и LM_EXIT
Разработчики Лазаря категорически рекомендуют не пользоваться сообщениями. Как это осуществлять на практике - не совсем понятно. Вероятно, перекрывать какие-то методы... А что касается LM_ENTER и LM_EXIT, то видим в исходниках TWinControl следующее:
Код: Выделить всё
procedure TWinControl.WMEnter(var Message: TLMEnter);
begin
 Assert(False, Format('Trace: TODO: [TWinControl.LMEnter] %s', [ClassName]));
end;

procedure TWinControl.WMExit(var Message: TLMExit);
begin
 Assert(False, Format('Trace: TODO: [TWinControl.LMExit] %s', [ClassName]));
end;

Вот такая петрушка :( И это надо принимать как есть. Шансов, что доделают очень мало, потому как вроде есть проблемы с кроссплатформенностью мессаджей.
там напутали с закрывающими end-ми в цикле форматирования
Обычное дело. Высылай патч в список fpc-devel.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение Сергей Смирнов » 28.10.2005 21:08:44

киньте кто-нибудь в багрепорт
Баги № 1369 и 1370
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение alexs » 29.10.2005 00:58:29

RxLib у меня уже не помню откуда - по моему с DelphiPlus брал
JVCL в свое время не стал тащить - або большой очень и много не нужного
а то что много не работает - дык совместимость у лазаря с дельфи весьма посредственная (он в этом не виноват - практически все библиотеки очень сильно пользуют WinAPI) - но ничего - прорвёмся
на народе обновил версию порта RX
дописал работу TCurencyEdit-ра - вроде работает

а вот насчёт сообщений - это плохо, если они не рекомендуют ими пользоваться - то надо чдял нормального написания компонент предоставлять аналоги в виде перекрываемых методов.
кстати вместо
LM_Enter и LM_Exit использую DoEnter и DoExit
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение alexs » 02.11.2005 11:44:04

Это опять я со ошибками, выложтие кого не затруднит.

1. TDBEdit в момент начала редактирования форматирует
данные по DisplayForma вместо EditFormat
- как я понимаю надо писть свой обработчик Pain для ситуации когда фокуса нет в поле ввода

2. При установке свойства TLabel.Enabled:=false если заголовок
метки состоит из нескольких слов - то последенее слово отличается
по цвету


3.
в модуле PropertyStorage.pas

есть
procedure TCustomPropertyStorage.WriteInteger(const Ident: string; Value: Longint);
begin
DowReadInteger(RootSection, Ident, Value);
end;

надо
procedure TCustomPropertyStorage.WriteInteger(const Ident: string; Value: Longint);
begin
DoWriteInteger(RootSection, Ident, Value);
end;
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение wellx » 02.11.2005 15:25:40

Насчет JVCL , в конфе спросил насчет Лазаря сказали что планов на перенос нет. А JCL перенесен. Так что сначала надо оттестировать JCL и затем портировать некие компоненты на базе JCL из JVCL. Так как JCL более стабилен чем сами классы Лазаря. Да и на самом деле из тех сотен компонентов надо то от силы 20-30, ну может 50.
wellx
новенький
 
Сообщения: 67
Зарегистрирован: 06.05.2005 14:01:07

Сообщение Сергей Смирнов » 03.11.2005 00:02:47

2. При установке свойства TLabel.Enabled:=false если заголовок
метки состоит из нескольких слов - то последенее слово отличается
по цвету
Мда, прикольно... баг №1382
3. в модуле PropertyStorage.pas
Это о вреде копи-пэста :) Баг №1383
1. TDBEdit в момент начала редактирования форматирует
данные по DisplayForma вместо EditFormat
Не понял о чём речь: в TDBEdit нет этих свойств.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение alexs » 03.11.2005 01:08:31

Не понял о чём речь: в TDBEdit нет этих свойств.

DisplayFormat есть у TField
так вот правильно TDBEdit должен вести себя так:
когда в нём находится фокус клавиатурного ввода он должен подставлять значение как есть или сформатированное по TField.EditFormat
а вот когда фокус ввода покинул TDBEdit то вот тут он должен уже отображать данные по формату TField.DisplayForma и поддерживать выравнивание (если задано)

вот этой функциональности нет
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Сергей Смирнов » 03.11.2005 11:46:18

DisplayFormat есть у TField
О каком TField идёт речь? Где в лазаре вызывается редактор полей? Для каких компонент?
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение Сергей Смирнов » 03.11.2005 23:47:59

Баги 1382, 1383 и 1369 пофиксены в SVN
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение alexs » 04.11.2005 00:59:29

О каком TField идёт речь? Где в лазаре вызывается редактор полей? Для каких компонент?

Авторитетно заявляю :)
хоть редактора полей DataSet-а нет всёже наседники TField в датасетах создаются

Так вот в этих полях то и есть DisplayForma
а доступ к этим поляем получаем когда пишем

SupeMuperDataSet.FieldByName('Bla-bla').DisplayFormat
SupeMuperDataSet.FieldByName('Bla-bla').EditFormat
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Сообщение Сергей Смирнов » 04.11.2005 12:33:17

хоть редактора полей DataSet-а нет всёже наседники TField в датасетах создаются
Это всё в рантайме. В дизайне далеко не все наследники TDataSet умеют создавать поля (сам TDataSet не умеет совсем), а те которые умеют - не все содержат обсуждаемые свойства (например TDBF). ИМХО это не совсем баг, а скорее недоделка, которых в лазаре и без того куча. Честно говоря, я не знаю что с этим делать. Просить доделать я не буду, потому как релиз 1.0 хочется уже в этом году или, в крайнем случае, в первом квартале следующего. С другой стороны, мириться с таким положением дел тоже невозможно (к примеру с недоступностью DataModule в дизайне). Так что вопрос остаётся открытым.
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение Сергей Смирнов » 04.11.2005 15:03:49

Мда, хотел я того или нет (разумеется хотел), но редактор полей в датасет добавили (0.9.11 от 4 ноября), так что казус с форматами плавно перетёк в баг :)
Аватара пользователя
Сергей Смирнов
энтузиаст
 
Сообщения: 595
Зарегистрирован: 28.04.2005 13:23:25
Откуда: Москва

Сообщение alexs » 09.11.2005 11:21:54

вот ещё накропал:

TRadioGroup - нет TabOrder
TBitBtn - нет NumGliph
TDBRadioGroup - нажатие Tab приводит к изменению выбранного
пункта - должен быть просто выход из контрола,
изменение выбора делаетс¤ стрелками или мышкой

будте любезны - киньте
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4053
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

След.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 27

Рейтинг@Mail.ru