Перейти к содержанию
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
  • Модераторы

не знаю как такое делается на C++, но в Delphi так

ShowMessage(AItem.Text + ' ' + TListViewItem(AItem).ButtonText + ' is clicked');

 

Ссылка на комментарий
  • 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 пользователей онлайн

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