Роман Фил

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

4 сообщения в этой теме

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

имеется набор компонентов 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?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: Макс Войтенко
      var Keyboard: IFMXVirtualKeyboardService; begin if TPlatformServices.Current.SupportsPlatformService( IFMXVirtualKeyboardService, IInterface( Keyboard ) ) then if TVirtualKeyboardState.Visible in Keyboard.GetVirtualKeyBoardState then ShowMessage( 'клавиатура открыта' ) else ShowMessage( 'клавиатура скрыта' ); end; ТАК Я на шел для делфи. Но мне нужно для C++
    • Автор: Роман Фил
      Привет Всем уважаемые! 
      Пытаюсь сделать растягивание по содержимому компонента. Как это реализовано в мессенджерах типа WhatsApp если большой текст то растягивает (выделяется) по содержимому большое поле, если короткий то малое. 
        Text2.Text := Memo1.Lines.Strings[4];   text2.Height := canvas.TextHeight(Text2.Text); //по высоте строки меняется т.к. там и есть одна строка в TText просто переносится WordWrap визуально.   text2.Height:=canvas.TextWidth(text2.Text); //  - так чушь  Как это вообще реализовано кто нибудь сталкивался?

    • Автор: Роман Фил
      Всем привет пытаюсь грузить файлы изображения с телефона Android на сервер методом post запроса. Для этого один из параметров запроса должен содержать полный путь к файлу. В ActionList есть стандартная опция TakePhotoFromLibraryAction - к с нее выдрать путь??? Куда он ей передается и передается ли вообще? я и справки толком не нахожу или я слепой?
       
      imgfile.Text:=TakePhotoFromLibraryAction1.????  
    • Автор: Роман Фил
      Привет ребят, созрел такой вопрос который меня мучает ! Вобщем пытаюсь загрузить картинку по прямой слыке с сервера. Картинка не грузится, не сохраняется не отображается. 
      Конечная платформа - Андроид. Пишу на Delphi xe 10 seatle.
      Что я делаю? при нажатии на сам компонент TImage (созданный динамически), должна грузится картинка по адресу преждевременно записанное в hint (TImage) при создании вида (http://блаблабла.jpg)
      Раньше код ниже работал сейчас нет не пойму что не так. Почему стал ковырять? потому что форма встает колом при загрузке изображений.
       
      var s: string; fs: TFileStream; begin fs := TFileStream.Create(tpath.Combine(tpath.GetDownloadsPath, 'load.jpg'), fmCreate); NetHTTPClient1.Get((Sender as TImage).Hint, fs); fs.Free; (Sender as TImage).MultiResBitmap.Bitmaps[1].LoadFromFile (tpath.Combine(tpath.GetDownloadsPath, 'load.jpg')); подключал еще pas нашел на этом форуме FMX.Features.Bitmap.Helpers.pas
      (Sender as TImage).MultiResBitmap.Bitmaps[1].LoadFromUrl ((Sender as TImage).Hint); как проще сделать посоветуете чтоб и грузилось и форма не висла?
    • Автор: Rionn
      В этой ссылке показан пример работы в одной сети (написано курсивом). Не могу найти, чтобы PC работал по сети или по WiFi, а телефон по мобильным данным. Не подскажете?
    • Автор: Роман Фил
      ПРивет, есть ли возможность узнать как то номер сроки в memo на delphi FMX в memo при нажатии на текст в поле memo?

      для windows на vlc можно memo.CaretPos.Y либо через WinAPi заголовки. Как такое делать в FireMonkey FMX для андроид ума не приложу. Может кто делал, поделится опытом?
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу