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

[ListView]пример от embarcadero


Anatoliy

Вопрос

Здравствуйте.

Беру стандартный пример паскаль embarcadero: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ListView\ListViewCheckList

или отсюда: ListViewCheckList

1. Открываю и переключаю Target на Win32.

2. У компонента PrototypeBindSource1 ставлю AutoActivate в false чтобы отключить тестовые данные. Хочу наполнить ListView своими данными.

3. Наполняю данные для ListView этим паскаль кодом: Adding headers to TListView programmatically

При старте приложение валиться. Не могу понять почему при использовании своих данных выскакивает AV. Подскажите, что надо поправить?

Спасибо.

 

 

Ссылка на комментарий

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

  • 0

В п.3 Вы добавляете ListViewItem с Purpose := TListItemPurpose.Header. У него Objects.AccessoryObject = nil и приложение падает в TForm1.ListView1UpdateObjects.
Могу предложить такою правку:
 

procedure TForm1.ListView1UpdateObjects(const Sender: TObject; const AItem: TListViewItem);
begin
   if AItem.Purpose <> TListItemPurpose.Header then // проверка назначения айтема
   begin
     AItem.Objects.TextObject.Width := AItem.Objects.TextObject.Width - (5 + AItem.Objects.AccessoryObject.Width);
     AItem.Objects.AccessoryObject.Visible := FChecked.Contains(AItem.Index);
   end;
end;

 

Ссылка на комментарий
  • 0

Большое спасибо!

Подскажите, пожалуйста, как исправить ситуацию если ItemAppearance установить в  DynamicAppearance. В этом случае проблема возвращается.

Спасибо.

Ссылка на комментарий
  • 0

По умолчанию в DynamicAppearance есть только один объект - Text. Соответственно, из кода вы должны убрать все упоминания AItem.Objects.TextObject, AItem.Objects.AccessoryObject и изменить заполнение текста в ListViewItem (например так):

     for Item in [1..10] do
       ListView1.Items.Add.Data['Text1']:= Format('Regular item %d.%d', [Group, Item]);

Как добавить свои объекты в LIstViewItem читайте Using the DynamicAppearance Value или смотрите видео.
 

Ссылка на комментарий

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

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

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

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

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

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

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

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

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

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