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