День добрый.
Решил попробвать 0.9.25 сборку, скомпилировав и запустив проект - проект вывались с ошибкой, повозившись обнаружил следующую ошибку (наверное можно ее так назвать).
На форме лежит TPageControl, 2 закладки и в одной Memo, также обявлена переменная FMyList: TList;
По событию FormCreate создается объект FMyList := TList.Create;
По событию FormDestroy удаляется объект FMyList.Free;
По событию TPageControl.OnChange (переключении закладок) в Memo пишется строка IntToStr(FMyList.Count) ;
Так вот если запустить прогу (скомпилировав в lazarus-0.9.24) - то все отлично работает.
А если запустить прогу (скомпилировав в lazarus-0.9.25) - то вылетает с ошибкой.
Оказалось следующее - вызывается метод TPageControl.OnChange на этапе создания формы и имеем обращение к FMyList.Count еще до того как переменная FMyList была создана - возникает ошибка.
PS:
Пример в аттаче.
Сборка - lazarus-0.9.25-fpc-2.2.0-20080604-win32.exe
проблема с TPageControl.OnChange
Модератор: Модераторы
проблема с TPageControl.OnChange
У вас нет необходимых прав для просмотра вложений в этом сообщении.
этот OnChange он везде забадал.
Всмысле практически у каждого контрола(тотже RxLookupCombo от alexs) у которого он есть, он вызывается при создании формы(несколько раз!!!).
Хотя у TPageControl ранее не замечал(хотя и компилил в 0.9.25, гдето месячной давности).
в качестве лекарства попробуй обвернуть весь код в TPageControl.OnChange в:
--[оффтоп]--
я так понял лазарь полностью перешел на утф-8. открыл свой проект месячной давности в свежей ревизии лазаря, а все подписи кнопок и т.п. в юникодных кривозябликах
Всмысле практически у каждого контрола(тотже RxLookupCombo от alexs) у которого он есть, он вызывается при создании формы(несколько раз!!!).
Хотя у TPageControl ранее не замечал(хотя и компилил в 0.9.25, гдето месячной давности).
в качестве лекарства попробуй обвернуть весь код в TPageControl.OnChange в:
Код: Выделить всё
if self.visible then
begin
// и тут уже весь код который помещаеш в TPageControl.OnChange
end;--[оффтоп]--
я так понял лазарь полностью перешел на утф-8. открыл свой проект месячной давности в свежей ревизии лазаря, а все подписи кнопок и т.п. в юникодных кривозябликах
- alexs
- долгожитель
- Сообщения: 4069
- Зарегистрирован: 15.05.2005 23:17:07
- Откуда: г.Ставрополь
- Контактная информация:
ViTality писал(а):я так понял лазарь полностью перешел на утф-8
Да. Если хочеш без utf8 то использую дерективу компиляции DisableWindowsUnicodeSupport при сборке IDE. Но лучше переведи исходники в utf8.
alexs писал(а):Но лучше переведи исходники в utf8.
А как быть с LazReport? Там тоже вся кирилица пропала...
Извините, за оффтоп...
Я так понял, что нужно мониторить новые сборки...
