Announcement

Collapse
No announcement yet.

TWebBrowser und Fenster

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • TWebBrowser und Fenster

    <per>Hallo
    ich habe in einer Anwendung die Komponente TWebBrowser
    genommen, um auf Webseiten zuzugreifen und Inhalte automatisch einzulesen.
    Alles ist soweit auch OK.
    Mit anderen Komponenten hatte ich leider kein Glück,
    es gab immer wieder andere Probleme.
    Nun soll diese Komponente aber zur Laufzeit erst erstellt werden
    und dabei unsichtbar bleiben. Und da habe ich nun das Problem,
    dass die Ereignisse wie "onDocumentComplet"
    nicht mehr ausgelöst werden, obwohl ich diese richtig nach dem
    Create zugewiesen haben.
    Ich brauche diese Ereignisse auf Grund der vielen Frams der Webanwendung
    in meiner Anwendung dringend.
    Wer kann mir da weiterhelfen?

    Helmut </per>

  • #2
    Leg es auf eine (unsichtbares) Formular und rufe dort HandleNeeded auf.
    Der eingebededde IE funktioniert teilweise nicht, wenn kein Fensterhandle verfügbar ist

    Comment


    • #3
      <pre>Hallo Bernhard,

      das geht schon recht gut. Nun habe ich nur noch das Problem,
      dass der Webbrowser, wenn ich ihn zur Laufzeit erstelle, irgedwo
      am Bildschirm in der linken oberen Ecke erscheint. Wie bekomme
      ich den denn nun ins Formular? Dieses könnte man ja dann
      unsichtbar schalten. Die Komponente ist aber nicht im Formula.
      Mit folgenden zwei Zeilen erstelle ich den Browser:
      WebBrowser := TWebBrowser.Create(BrowserForm);
      WebBrowser.HandleNeeded;
      Was fehlt noch?
      Ich bitte um Hilfe

      Helmut</pre&gt

      Comment


      • #4
        Hi Helmut,

        versuch mal:

        <pre>WebBrowser.Owner := BrowserForm;</pre>

        Gruß
        Richar

        Comment


        • #5
          <pre>Hi,
          geht leider nicht, das diese Eigenschaft beim WebBrowser
          eine nur Leseeigenschaft ist.
          Ich glaube, beim WebBrowser handelt es sich um eine Wrapperkomponente.
          Also eigendlich ein ActiveX.

          Helmut</pre&gt

          Comment


          • #6
            Du mußt den Parent, nicht den Owner setzen.
            Und da Parent von TWebBrowser mit einem Read-Only-Attribut überschieben ist must du über die Basisklasse gehen

            var
            Ctrl: TControl;
            begin
            Ctrl := WebBrowser as TControl;
            Ctrl.Parent := BrowserForm;
            end

            Comment


            • #7
              ---------------------------
              Benachrichtigung über Debugger-Exception
              ---------------------------
              Im Projekt Viewer.exe ist eine Exception der Klasse EOleError aufgetreten. Meldung: 'Fenster-Handle des OLE-Elements nicht verfügbar'. Prozeß wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
              ---------------------------
              OK Hilfe
              ---------------------------

              Kommt trotz Handleneeded. Was nun

              Comment

              Working...
              X