Kitty Опубликовано 22 мая, 2016 Поделиться Опубликовано 22 мая, 2016 Читаю официальный 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 Модераторы Равиль Зарипов (ZuBy) Опубликовано 22 мая, 2016 Модераторы Поделиться Опубликовано 22 мая, 2016 не знаю как такое делается на C++, но в Delphi так ShowMessage(AItem.Text + ' ' + TListViewItem(AItem).ButtonText + ' is clicked'); Kitty и zairkz 2 Цитата Ссылка на комментарий
0 Модераторы Andrey Efimov Опубликовано 22 мая, 2016 Модераторы Поделиться Опубликовано 22 мая, 2016 Может быть вот так (!Berlin!): на С++ AItem->Objects->TextButton->Text = 'Test'; на Делфи AItem.Objects.TextButton.Text := 'Test'; Цитата Ссылка на комментарий
0 Модераторы Равиль Зарипов (ZuBy) Опубликовано 22 мая, 2016 Модераторы Поделиться Опубликовано 22 мая, 2016 А разве TListItem хранит Objects? Сейчас нет Делфи проверить zairkz 1 Цитата Ссылка на комментарий
0 Модераторы Andrey Efimov Опубликовано 22 мая, 2016 Модераторы Поделиться Опубликовано 22 мая, 2016 Ага, не обратил внимания. Тогда только ваш способ. Получается косяк в справке, т.к. там написано 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 zairkz 1 Цитата Ссылка на комментарий
0 krapotkin Опубликовано 23 мая, 2016 Поделиться Опубликовано 23 мая, 2016 (изменено) в берлине немного поменялся ListView в частности, у ListItemDrawable пропал Owner, а я его использовал зато починили ItemIndex в ItemClickEx и заодно добавили там пару параметров в Render, из-за чего пришлось опять-же переписывать своих наследников TListItemDrawable Изменено 23 мая, 2016 пользователем krapotkin Цитата Ссылка на комментарий
0 Kitty Опубликовано 23 мая, 2016 Автор Поделиться Опубликовано 23 мая, 2016 Спасибо, работает. 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."); } Цитата Ссылка на комментарий
0 Модераторы Andrey Efimov Опубликовано 23 мая, 2016 Модераторы Поделиться Опубликовано 23 мая, 2016 Багу завёл. Kitty 1 Цитата Ссылка на комментарий
Вопрос
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'
Спасибо.
Ссылка на комментарий
7 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.