ストリームに画像が含まれているかどうかを確認するにはどうすればよいですか? Delphi xe8 FMX で iOS アプリケーションを開発しています。リストボックスがあり、アイテムに写真をロードしています。私がすることができます:
if not Assigned(S) then
s:=TMemoryStream.Create;
if not Assigned(clHTTP) then
clHTTP := TIDHTTP.Create;
with clHTTP do
begin
clHTTP.HandleRedirects := True;
clHTTP.AllowCookies := True;
clHTTP.RedirectMaximum := 110000;
clHTTP.Get(someimageURL,s);
end;
s.Seek(0,soFromBeginning);
try
LItem.ItemData.Bitmap.LoadFromStream(s);
except
clHTTP.Get(DefaultImageURL,s);
s.Seek(0,soFromBeginning);
LItem.ItemData.Bitmap.LoadFromStream(s);
end;
s.Free;
clHTTP.Free;
ビットマップの読み込みに一貫性がないように見えるため、try-except ブロックを使用しないことをお勧めします。たとえば、リストボックスのアイテムをスクロールしてビューから外し、ビューに戻して写真を表示する必要があります。