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

OnButtonClick


Kitty

Вопрос

Опубликовано

Читаю официальный PDF Mobile Tutorials от Embarcadero. Примеры из него не работают в Берлине. Как правильно?

void __fastcall TForm1::ListView1ButtonClick(TObject * const Sender, TListItem * const AItem,
		  TListItemSimpleControl * const AObject)
{
 ShowMessage(AItem->Text + " " + AItem->ButtonText + " is clicked.");
}

[bcc32 Error] Unit1.cpp(20): E2316 'Text' is not a member of 'TListItem'
[bcc32 Error] Unit1.cpp(20): E2316 'ButtonText' is not a member of 'TListItem'

Спасибо.

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

  • 0
  • Модераторы
Опубликовано

Ага, не обратил внимания. Тогда только ваш способ.

Получается косяк в справке, т.к. там написано

procedure TForm1.ListView1ButtonClick(const Sender: TObject;
  const AItem: TListViewItem; const AObject: TListItemSimpleControl);
begin
   ShowMessage(AItem.Text + ' ' +AItem.ButtonText + ' is clicked.');
end;

 

т.е. мой способ был бы рабочим если бы в событии приходил TListViewItem, а не TListItem.

 

p.s. Пруф на справку: http://docwiki.embarcadero.com/RADStudio/Seattle/en/Mobile_Tutorial:_Using_LiveBindings_to_Populate_a_ListView_%28iOS_and_Android%29#Step_5:_Adding_the_onButtonClick_Event_Handler

  • 0
Опубликовано (изменено)

в берлине немного поменялся ListView

в частности, у ListItemDrawable пропал Owner, а я его использовал

зато починили ItemIndex в ItemClickEx и заодно добавили там пару параметров в Render, из-за чего пришлось опять-же переписывать своих наследников TListItemDrawable

Изменено пользователем krapotkin
  • 0
Опубликовано

Спасибо, работает.

void __fastcall TForm1::ListView1ButtonClick(TObject * const Sender, TListItem * const AItem,
		  TListItemSimpleControl * const AObject)
{
 ShowMessage(static_cast< TListViewItem * >(AItem)->Text + " " +
             static_cast< TListViewItem * >(AItem)->ButtonText + " is clicked.");
}

 

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить на вопрос...

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

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

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

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

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

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...