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

Как сделать ожидание на выполнение определенной части когда Delphi fmx


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

Привет ребят! Помогите кто знает, попытаюсь доходчиво объяснить - 

имеется набор компонентов KernowSoftwareFMX - в нем использую TksTableView для вывода данных с Tmemo, в нем так же есть Image.

В Tmemo с сервера грузится файл txt внутри которого строки с ссылками на изображения вида http://бла-бла/1.png

Для загрузки использую FMX.Features.Bitmap.Helpers.pas - позволяет по прямой ссылке загружать изображение в TImage.

что пытаюсь сделать?

Нужно наполнять список TksTableView с Memo содержащий ссылки и в строках TksTableView - они же ListItem тоже самое что в ListView  и загружать в image каждой строки картинки по ссылкам memo.

 


           
                      
      AItem.Image.Bitmap := Image4.MultiResBitmap.Bitmaps[1].LoadFromUrl(Memo1.Lines.Strings[i]);    - так ругается
        [DCC Error] untMain.pas(92): E2010 Incompatible types: 'TBitmap' and 'procedure, untyped pointer or untyped parameter'
       AItem.Image.Bitmap :=     Image4.Bitmap.LoadFromUrl(Memo1.Lines.Strings[i]);  - так тожн не работает          
                      

Глюк в том что первым делом создаются строки . а потом грузятся по очереди картинки в Image4.

Как заставить подгружать картинки в  TksTableView?

Как ожидать хавершения загрузки каждой картинки в Image4 и после создавать AItem.Image.Bitmap?

 

 

 

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

          AItem := ksTableView1.Items.AddItem('Новая строка',
            Memo1.Lines.Strings, 'Подробнее', atMore);
          AItem.Image.Bitmap.LoadFromUrl(Memo1.Lines.Strings);

        end;
      ksTableView1.EndUpdate;
    end)

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

Изменено пользователем Роман Фил
Ссылка на комментарий
28 минут назад, Роман Фил сказал:

      begin

          AItem := ksTableView1.Items.AddItem('Новая строка',
            Memo1.Lines.Strings, 'Подробнее', atMore);
          AItem.Image.Bitmap.LoadFromUrl(Memo1.Lines.Strings);

        end;
      ksTableView1.EndUpdate;
    end)

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

дополню при нажатии на строку картинка появляется. как будто обновляется 

  TThread.Synchronize(TThread.CurrentThread,
    procedure
    var
      ICount: Integer;
      AItem: TksTableViewItem;
      i: Integer;
    begin
      Memo1.Text := AResult;
      ksTableView1.BeginUpdate;
      application.ProcessMessages;
      try
        for i := 0 to Memo1.Lines.Count - 1 do
        begin

          AItem := ksTableView1.Items.AddItem('Новая строка',
            Memo1.Lines.Strings, 'Подробнее', atMore);
          AItem.Image.Bitmap.LoadFromUrl(Memo1.Lines.Strings);

        end;
      finally
        ksTableView1.EndUpdate;
      end; в таком варианте почему о не обновляется

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

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

зачем грузить сначала в TImage?

 

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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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