Thema: Delphi Download per TWebBrowser

Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Download per TWebBrowser

  Alt 28. Sep 2007, 20:05
Herzlich willkommen in der Delphi-PRAXiS, nobody0126.

Wie man das mit den dafür vorgesehenen Interfaces machen kann, das kannst du dir in der Unit IEDownload aus dem Embedded WebBrowser Components Package anschauen.

Eine vereinfachte Lösung könnte unter günstigen Umständen darin bestehen, dass du beim Ereignis OnBeforeNavigate2() den Download abbrichst und ihn ohne Browser (z.B. mittels WinInet oder Indy) durchführst.

Delphi-Quellcode:
procedure TDemoForm.BeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
var
  s: TStrings;
begin
  s := TStringList.Create;
  try
    CrackUrl(URL, s);
    Cancel := SameText(ExtractFileExt(s.Values['urlPath']), '.ZIP');
    if Cancel then
    begin
      with pDisp as IWebBrowser2 do
        Stop;
      FileDownload(URL);
    end;
  finally
    s.Free;
  end;
end;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat