Hallo Thomas.
DrawRect ist initialisiert - allerdings um ein Pixel zu groß. Das Form1.Handle wird ignoriert, weil der Parameter vorher auf nil gesetzt ist. Wird der LIndex = 1 (zweiter Parameter) überhaupt unterstützt?
Delphi-Quellcode:
if ViewObject <> nil then
begin
DrawRect := Rect(0, 0, Pred(Result.Width), Pred(Result.Height));
hr := ViewObject.Draw(DVASPECT_CONTENT, -1, nil, nil, 0,
Result.Canvas.Handle, @DrawRect, nil, nil, 0);
ViewObject := nil;
ShowMessage(IntToHex(hr));
end;
Es passiert was du schon beschrieben hast - sobald auf ein "externes" Browser-Fenster zugegriffen wird, scheitert die Bildübernahme. Den Fehler-Code kenne ich nicht.
Grüße vom marabu