Перейти к содержанию
Fire Monkey от А до Я
  • 0

Ошыбка Bitmap size too big


Axbor

Вопрос

Короче есть такой код при выполнении которого выходит ошибка Bitmap size too big:

void __fastcall TForm1::TabControl2Gesture(TObject *Sender, const TGestureEventInfo &EventInfo,
		  bool &Handled)
{
	switch (EventInfo.GestureID)
	{
		case sgiLeft:
			if(!ChangeJoke(false))
				return;
			TabControl2->Next(TTabTransition::Slide, TTabTransitionDirection::Normal);
			Handled = true;
			Latifa2Caption->Text = Latifa3Caption->Text;
			Latifa2Text->Text = Latifa3Text->Text;
			Latifa2Layout->Height = Latifa3Layout->Height;
			TabControl2->TabIndex = 1;
			break;
		case sgiRight:
			if(!ChangeJoke(true))
				return;
			TabControl2->Previous(TTabTransition::Slide, TTabTransitionDirection::Normal);
			Latifa2Caption->Text = Latifa1Caption->Text;
			Latifa2Text->Text = Latifa1Text->Text;
			Latifa2Layout->Height = Latifa1Layout->Height;
			TabControl2->TabIndex = 1;
			Handled = true;
			break;
		default:
			break;
	}
}

bool __fastcall TForm1::ChangeJoke(bool iLeft)
{
	if(iLeft)
	{
		if(CurrPos == 0)
			return false;
		Latifa1Caption->Text = Jokes[CurrPos - 1].Caption;
		Latifa1Text->Text = Jokes[CurrPos - 1].Content;
		Latifa1Layout->Height = Latifa1Caption->Height + Latifa1Text->Height + 20;
		CurrPos --;
		return true;
	}
	else {
		if(CurrPos + 1 >= Count)
		{
			TThread::Synchronize(TThread::CurrentThread, GetJoke);
			return false;
		}
		Latifa3Caption->Text = Jokes[CurrPos + 1].Caption;
		Latifa3Text->Text = Jokes[CurrPos + 1].Content;
		Latifa3Layout->Height = Latifa3Caption->Height + Latifa3Text->Height + 20;
		CurrPos ++;
		return true;
	}
}

Там внутри TabItem ов находится ScrollBox(align=Client) внутри ScrollBox есть Layout (Align Top) внутри Layout Rectangle(Align Content) и еще два Label (Align = top, AutoSize = true, WrodWrap = true).

Еще заметил, иногда без ошибки выполняется но размер Layout становится слишком большим. Что то идет явно не так.

(UPD)

Когда не выходит ошибка и размер Layout становится становится слишком большой исправляется это при повторе движения. И после это всё работает нормально.

Изменено пользователем Axbor
Ссылка на комментарий

Рекомендуемые сообщения

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...