Einzelnen Beitrag anzeigen

Benutzerbild von Sprint
Sprint

Registriert seit: 18. Aug 2004
Ort: Edewecht
712 Beiträge
 
Delphi 5 Professional
 
#5

Re: Browser Via Delphi aktualisieren/

  Alt 2. Aug 2009, 23:27
Mit dem "Assigned" ist ja völliger Quatsch. Wenn das Fenster vom IE geschlossen wird, dann knallt es.
Also hier mal ein anderes Beispiel. Es wird vorher geprüft, ob die Instanz vom IE noch vorhanden ist.
Wenn ja, wird ein Refresh durchgeführt. Ansonsten wird eine neue Instanz erstellt.

Delphi-Quellcode:
{...}

uses
  ShDocVw, MSHTML;

{...}

var
  IE: IWebBrowser2;

{...}

procedure TForm1.Button5Click(Sender: TObject);
var
  I: Integer;
  SHW: IShellWindows;
  Doc: IHTMLDocument2;
  MustNewCreate: Boolean;
  URL: OleVariant;
begin

  URL := 'http://www.heise.de/newsticker/';
  MustNewCreate := True;
  SHW := CoShellWindows.Create;

  for I := 0 to SHW.Count - 1 do
    if (SHW.Item(I) as IWebBrowser2) = IE then
    begin
      if IE.Document <> nil then
        if IE.Document.QueryInterface(IHTMLDocument2, Doc) = S_OK then
          if IE.LocationURL = URL then
            IE.Refresh
          else
            IE.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
      MustNewCreate := False;
    end;

  if MustNewCreate then
  begin
    IE := CoInternetExplorer.Create;
    IE.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);;
    IE.Visible := True;
  end;

end;
Könnte mir vorstellen, das sowas ähnliches mit Mozilla auch möglich wäre. Denke aber, das es eine Steuerung über Ole/DDE mit Chrome und Opera nicht gibt.
Ciao, Sprint.

"I don't know what I am doing, but I am sure I am having fun!"
  Mit Zitat antworten Zitat