TTabColtrol куча багов

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

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

TTabColtrol куча багов

Сообщение SeZuka » 05.09.2012 15:24:29

Перехожу с дельфей на лазарус, версия 1.0, винда 7 х64. Решил для MDI использовать TTabControl и сразу наткнулся на кучу непоняток:
1. Нужно переименовать вкладку, делаю:
Код: Выделить всё
TabControl.Tabs.Strings[TabControl.TabIndex] := 'qq';

При выполнении вылетает с непонятной ошибкой: 'External: SIGSEGV' В файле '.\include\wincontrol.inc' на строке 8057
Там следующий код:
Код: Выделить всё
  if not HandleAllocated
  or (csLoading in ComponentState)
  or (not TWSWinControlClass(WidgetSetClass).GetText(Self, Result))
  then Result := inherited RealGetText;

Что за Х?
2. Свойство Style (tsTabs, tsButtons, tsFlatButtons) в винде ни на что не влияет, вид всегда один и тот же, в других системах не проверял.
3. Pages для чего надо? Это вроде TabControl, а не PageControl. Или из него хотели сделать один универсальный компонент?
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: TTabColtrol куча багов

Сообщение evb87ar » 05.09.2012 15:49:02

TabControl.Tabs имеет тип TStrings.

Соответственно:
Код: Выделить всё
TabControl1.Tabs[1] := 'qq';
работает.

Style да, не работает и в лине.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: TTabColtrol куча багов

Сообщение SeZuka » 05.09.2012 16:13:56

evb87ar писал(а):TabControl.Tabs имеет тип TStrings.

Соответственно:
Код: Выделить всё
TabControl1.Tabs[1] := 'qq';
работает.

Знаю, так тоже делал, таже ошибка.
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: TTabColtrol куча багов

Сообщение mirk » 05.09.2012 17:21:51

Если я правильно помню, то в TabControl есть и другие визуальные баги.
Возможно стоит использовать TPageControl или TExtendedNotebook, т.к. они более "свежие" и имеют больше шансов на исправление багов.
mirk
постоялец
 
Сообщения: 317
Зарегистрирован: 24.09.2007 10:03:39

Re: TTabColtrol куча багов

Сообщение evb87ar » 05.09.2012 18:29:29

Знаю, так тоже делал, таже ошибка.

Да ладно, я ж специально проверил, всё работает. Могу скрин прилепить, если не верите.
Аватара пользователя
evb87ar
новенький
 
Сообщения: 52
Зарегистрирован: 18.01.2012 21:08:02
Откуда: г. Архангельск

Re: TTabColtrol куча багов

Сообщение SeZuka » 05.09.2012 19:08:20

evb87ar писал(а):
Знаю, так тоже делал, таже ошибка.

Да ладно, я ж специально проверил, всё работает. Могу скрин прилепить, если не верите.

Верю, возможно у вас версия другая или операционка, просто уже столько "странностей" уже обнаружил в лазарусе...
В частности одна программа скомпилиная на х86 и на х64 считала по разному.
mirk писал(а):Если я правильно помню, то в TabControl есть и другие визуальные баги.
Возможно стоит использовать TPageControl или TExtendedNotebook, т.к. они более "свежие" и имеют больше шансов на исправление багов.

Мне нужен чтоб была одна страница и к ней закладки сверху, такое вроде только у TTabControl, у остальных к каждой закладке привязана своя страница типа фрэйма.
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: TTabColtrol куча багов

Сообщение Kemet » 05.09.2012 19:45:58

SeZuka писал(а):Мне нужен чтоб была одна страница и к ней закладки сверху, такое вроде только у TTabControl, у остальных к каждой закладке привязана своя страница типа фрэйма.

В таком случае, может вполне устроит несколько TSpeedButton, у которых установлен одинаковый GroupIndex?
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: TTabColtrol куча багов

Сообщение alexs » 05.09.2012 19:54:17

SeZuka писал(а): Решил для MDI использовать TTabControl и сразу наткнулся на кучу непоняток:

Внятная эмуляция MDI делется в строк 20 кода.
Всё основано на присвоение Parent-а дочернего окна - окна родителя.
Для примера - в FBManager-е сейчас именно так сделано + навигация по окнам через свою панель задач.
Думаю оформить, как будет время, в виде компоненты.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4064
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: TTabColtrol куча багов

Сообщение SeZuka » 05.09.2012 19:57:54

Kemet писал(а):
SeZuka писал(а):Мне нужен чтоб была одна страница и к ней закладки сверху, такое вроде только у TTabControl, у остальных к каждой закладке привязана своя страница типа фрэйма.

В таком случае, может вполне устроит несколько TSpeedButton, у которых установлен одинаковый GroupIndex?

Думаю в эту сторону, тут скорее придется свой компонент писать.
Но на данном этапе нужно использовать то что есть, для ускорения разработки, поэтому хотелось бы разобраться с ошибкой. Мож дело в настройках компилятора или еще чего?
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05

Re: TTabColtrol куча багов

Сообщение Kemet » 05.09.2012 21:03:01

SeZuka писал(а):хотелось бы разобраться с ошибкой. Мож дело в настройках компилятора или еще чего?

Для этого надо код смотреть, если бы ты его здесь прикрепил, то обсуждение намного активнее бы пошло, а так получается сфероконь какой-то
Kemet
постоялец
 
Сообщения: 241
Зарегистрирован: 10.02.2010 19:28:32
Откуда: Временно оккупированная территория

Re: TTabColtrol куча багов

Сообщение SeZuka » 06.09.2012 07:56:27

Kemet писал(а):
SeZuka писал(а):хотелось бы разобраться с ошибкой. Мож дело в настройках компилятора или еще чего?

Для этого надо код смотреть, если бы ты его здесь прикрепил, то обсуждение намного активнее бы пошло, а так получается сфероконь какой-то

Писал же в самом начале, там всего 1 строчка кода. Проверил на пустом проекте, табконтрол и две кнопки (одна создает вкладку, другая меняет текст на ней), работает. Переделал свой проект на TExtendedNotebook, все нормально работает, остановился пока на нем.
SeZuka
постоялец
 
Сообщения: 209
Зарегистрирован: 05.09.2012 14:58:05


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru