Проблема Delphi XE (Firemonkey) при обновлении большего количества изображений во время выполнения (Android) - PullRequest
0 голосов
/ 08 декабря 2018

Я могу создать приложение для Android с Delphi XE 10.3, Firemonkey.Я испробовал все возможные идеи и искал в Интернете в течение нескольких дней, но не могу найти решение.У меня есть много изображений PNG, загруженных как активы (RT_RCDATA).

var InStream: TResourceStream;
begin
InStream := TResourceStream.Create(HInstance,'PngImage_'+inttostr(trunc(TrackBar2.Value)), RT_RCDATA);
try
Image1.Bitmap.LoadFromStream(InStream);
finally
InStream.Free;
end;
end;

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

Но что не работает, (ичто я должен быть в состоянии сделать):

procedure TForm1.Timer1Timer(Sender: TObject);
var InStream: TResourceStream;
begin
InStream := TResourceStream.Create(HInstance, 'PngImage_'+inttostr(imgcount), RT_RCDATA);
label5.Text:='PngImage_'+inttostr(layerCount);
try
Image1.Bitmap.LoadFromStream(InStream);
finally
InStream.Free;
end;
imgcount:=imgcount+1;
//FOrce refresh
//image1.Repaint; // this seems to do nothing
//image1.Visible:=false; image1.Visible:=true;  // this also does nothing to help
//application.processmessages; // neither this one
end

Если я пытаюсь загрузить и показать последовательность изображений с некоторой задержкой между ними (например, автоматическое слайд-шоу), то изображение не обновляется;если я пытаюсь показать изображения 1-2-3-4, отображается только изображение 4.Я перепробовал все, от перерисовки, обновления методов, скрытия / отображения видимости, вызова application.processmessages, загрузки растрового изображения и его рисования для формирования холста, используя таймер, но я не могу найти решение.

Спасибо

...