function LoadStreamFromURL(const URL:WideString): TMemorystream; procedure LoadFromURL(const URL:WideString); function TImageEnIO.LoadStreamFromURL(const URL:WideString): TMemorystream; // add by wjs 2012-12-20 var ms: TMemoryStream; FileExt: string; begin if (not fIEBitmapCreated) and fAsyncMode and (not IsInsideAsyncThreads) then begin TIEIOThread.CreateLoadFromURL(self, LoadFromURL, URL, 0); Result := nil; exit; end; ms := TMemoryStream.Create; if not IEGetFromURL(URL,ms,fProxyAddress,fProxyUser,fProxyPassword,fOnIntProgress,self,@fAborting,FileExt) then begin fAborting := true; DoFinishWork; ms.Free; Result := nil; end else begin ms.Position := 0; Result := ms; end; end;