Announcement

Collapse
No announcement yet.

Wo ist TWebBrowser in Delphi 8 ???

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

  • Wo ist TWebBrowser in Delphi 8 ???

    Hallo,

    Ich haben gerade Delphi8 erhalten.

    Wo ist das entsprechende Gegenstück zu TWebBrowser, bzw. was ist das Gegenstück?

  • #2
    Hallo,

    >Wo ist das entsprechende Gegenstück zu TWebBrowser...

    es hat sich gegenüber Delphi 7 fast nichts geändert - denn auch in Delphi 8 ist das gleiche Control zuständig. Allerdings muss man das ActiveX-Control <i>Microsoft Webbrowser-Control</i> erst selbst einmalig von Hand in die Tool-Palette einbinden:

    1. Menüpunkt <i>Components | Installed .NET Components | ActiveX Components</i> aufrufen und dort den Eintrag <b>Microsoft Webbrowser</b> auswählen. Als Vorbelegung wird das importierte Control in die Registerseite <b>ActiveX</b> der Tool Palette installiert, wenn der OK-Button angeklickt wird.

    2. Dem Projekt über den <i>Project Manager</i> einen Verweis (Reference) zur <i>Microsoft HTML Object Library</i> hinzufügen.

    3. Im Implementations-Abschnitt der Formular-Unit die Assembly <i>mshtml</i> einbinden:
    <pre>
    uses mshtml;
    </pre>
    4. Das <i>Microsoft Webbrowser</i>-Control auf das Formular ziehen und verwenden:
    <pre>
    <b>procedure</b> TWinForm.TWinForm_Load(sender: System.<b>Object</b>; e: System.EventArgs);
    <b>var</b>
    aEmptyParam : TObject;
    <b>begin</b>
    AxWebBrowser1.Navigate(<font color="#9933CC">'about:blank'</font>,aEmptyParam, aEmptyParam,
    aEmptyParam, aEmptyParam);
    <b>end</b>;

    <b>procedure</b> TWinForm.ToolBar1_ButtonClick(sender: System.<b>Object</b>; e: System.Windows.Forms.ToolBarButtonClickEventArgs);
    <b>var</b>
    aDoc : IHTMLDocument2;
    aAr : <b>array</b> <b>of</b> TObject;
    <b>begin</b>
    <b>if</b> e.Button = ToolBarButton1 <b>then</b>
    <b>begin</b>
    aDoc := AxWebBrowser1.Document <b>as</b> IHTMLDocument2;
    SetLength(aAr, 1);
    aAr[0] := <font color="#9933CC">'&lt;html&gt;Das ist ein &lt;b&gt;Test&lt;/b&gt;&lt;/html&gt;'</font>;
    aDoc.Writeln(aAr);
    <b>end</b>;
    <b>end</b>;
    </pre>
    5. Menüpunkt Project | Build aufrufen und die Nerven behalten! Die IDE scheint zu hängen, aber in Wirklichkeit dauert dies auf einem 1,6 GHz schnellen Pentium 4 ca. 2 Minuten, da Delphi 8 die 17933 kByte große Datei <i>Microsoft.mshtml.dcpil</i> zusammenzimmert.

    Delphi 8 legt im Programmverzeichnis automatisch das Verzeichnis <i>ComImports</i> an, um dort 2 Dateien unterzubringen: <br>
    a) Microsoft.mshtml.dll mit 124 kByte für die Microsoft HTML Object Library <br>
    b) AxInterop.SHDocVw.dll mit 44 kByte für Microsoft Webbrowser <br>
    Beide Dateien werden über <b>Copy Local</b> beim Build in das Ausgabeverzeichnis kopiert. Die Anwendung kann somit erfolgreich gestartet werden.

    Siehe dazu auch <i>http://www.entwickler.com/itr/features/psecom,id,91,nodeid,77.html</i&gt

    Comment


    • #3
      Sehr geehrter Herr Kosch,

      vielen Dank für Ihre Antwort.

      Das Browser-Problem ist somit gelöst.

      Bei mir wurde allerdings in dem Verzeichnis <ComImports> und im Projektverzeichnis die Datei <Interop.MSHTML.dll> in der Größe von je 7892KB angelegt. Die Datei <Interop.MSHTML.dcpil> wurde im Projektverzeichnis in der Größe von 18459KB angelegt!?!?

      Eine andere Frage ist wie Sie an diese Informationen gelangen.

      Mit der aktuell in Delphi verfügbaren Hilfe (Hilfe???) gelangt man fast immer automatisch zur „Microsoft-Hilfe“. (welch eine Schande)
      Bisher habe ich noch keine Borland- bzw. Sekundärliteratur zur aktuellen Version gefunden.
      Diese würde mit Sicherheit eine effektive Einsetzbarkeit der Version deutlich unterstützen da, die aktuelle Delphi-Version doch in der Tat etwas gewöhnungsbedürftig ist. (Gerade für jemanden der sich mit Delphi, vor Version 8, angefreundet hat.)

      Haben Sie einen Tipp

      Comment


      • #4
        Sehr geehrter Herr Kosch,

        wie bekomme ich diese Browser-Komponente in die Tool-Palette einer VCL-Formularanwendung ??

        Comment


        • #5
          Hallo,

          &gt;..in der Größe von 18459KB angelegt..

          die tatsächlich Größe ergibt sich aus der aktuell installierten Version diese Microsoft-Zutaten.

          &gt;Eine andere Frage ist wie Sie an diese Informationen gelangen.

          In der Tat ist es bei dem momentanen Zustand der Delphi-Hilfe sehr hilfreich, dass ich in den letzten beiden Jahren auch viel mit dem Konkurrenten <i>Visual Studio .NET</i> gearbeitet habe. Wenn man den "richtigen" Weg bereits kennt, fällt die "Versuch-und-Irrtum"-Arbeit mit Delphi 8 deutlich leichter, so dass man sich die notwendigen Schritte selbst erarbeiten kann.

          &gt;..keine Borland- bzw. Sekundärliteratur zur aktuellen Version gefunden.

          In der Tat gibt es da zur Zeit nichts (auch <i>Steve Teixeira</i> ist am US-Markt mit seinem für Anfang Januar 2004 angekündigtem Buch weit im Rückstand). Im Software&Support-Verlag ist momentan ein Sonderheft in Arbeit, das sich nur mit Delphi 8 befasst. Aber erst nach dem erstem UpdatePack (weitere sind bereits auf den inoffiziellen Kanälen angekündigt) wird es sich "lohnen", ein Buch-Projekt in Angriff zu nehmen, in dem nicht nur triviale Demo-Programme vorkommen.

          &gt;..Browser-Komponente in die Tool-Palette einer VCL-Formularanwendung.

          Dazu muss zuerst über den <b>WinForm Control Import Wizard</b> (Experte <i>WinForm Control Package</i>) eine Wrapper-Komponente zusammengebaut werden, wobei dies nicht bei allen Controls erfolgreich ist. Das Prinzip stimmt dabei mit den von bisherigen Delphi-Versionen gewohnten VCL-Wrapperkomponenten für ActiveX-Controls überein, wobei auch die alten Probleme (fehlerhaft importierte Typbibliotheken) wieder in der neuen .NET-Welt auftauchen (auch wenn es hier Fehler bei der Auswertung der über Reflektion erhaltenen Assembly-Daten sind). Ein VCL.NET-Formular nutzt den Borland-Designer und die Borland-Schnittstellen für den Objekt Inspektor, während ein Windows Form (FCL) den originalen Microsoft-Designer aus dem .NET Framework nutzt. Die Controls unterscheiden sich somit gravierend voneinander, so dass das Umverpacken nicht immer zum Erfolg führt - sogar das Borland-Beispiel auf der Community-Webseite funktioniert nicht, wenn die Anwendung nach der Konfiguration im Objekt Inspektor gestartet wird.

          P.S: Generell ist es eine gute Idee, den VCL.NET-Formularanwendungen aus dem Weg zu gehen. Diese Dinger haben aus prinzipiellen Gründen derart unerwünschte Nebenwirkungen, dass ihre Existenz nur für eine Übergangsfrist vertretbar ist.

          Comment

          Working...
          X