Беда, совсем беда .... Имеется на форме TListView (listviewEdit.jpg), в него динамически загружается список с картинками полученными через idhttp + TmemoryStream.
.....
private
nowDrawed:string;
...
Item: TListViewItem;
ImageObject: TListItemImage;
TextObject: TListItemText;
groups:array of Tgroups;
...
.....
procedure Tmain.drawGroups();
var
i:integer;
begin
try
loader.Show;
loader.ProgressBar.Max:=high(groups);
loader.ProgressBar.Value:=0;
Application.ProcessMessages;
nowDrawed:='groups';
ListView.Items.Clear;
ListView.BeginUpdate;
for i := 0 to high(groups) do
begin
Item := ListView.Items.Add;
TextObject:=Item.Objects.FindObjectT<TListitemtext>('Text');
TextObject.Text:=groups[i].caption;
Item.Tag:=strtoint(groups[i].id);
ImageObject:=Item.Objects.FindObjectT<TListItemImage>('Image');
if ImageObject.Bitmap=nil then ImageObject.bitmap:=TBitmap.Create;
http.loadImage(url+groups[i].image,ImageObject.bitmap);
loader.ProgressBar.Value:=i;
Application.ProcessMessages;
end;
ListView.EndUpdate;
loader.hide;
except
loader.hide;
end;
end;
procedure Thttp.loadImage(link:string;bitmap:Tbitmap);
var
MS: TMemoryStream;
begin
try
MS := TMemoryStream.Create;
IdHTTP.Get(link,MS);
MS.Position:=0;
if not (bitmap=nil) then bitmap.LoadFromStream(MS);
MS.Free;
except
end;
end;
Так вот, если собирать под Win64 (onWin.jpg), то всё отлично, но если под андроид (onAndr.jpg), то картинки отсутствуют.
При этом, если на форму бросить TImage и передавать в функцию loadImage bitmap этого Timage, то всё отображается корректно.
P.S. Тестовое изображение в аттаче.