Announcement

Collapse
No announcement yet.

In TWebBrowser einen Speicherstring anzeigen lassen

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

  • In TWebBrowser einen Speicherstring anzeigen lassen

    Moin!<BR>
    Wenn ich heute per Programm mir irgendwas HTML-mäßiges anzeigen lassen will, so muß ich erst eine Datei generieren, und die dann im TWebBrowser anzeigen lassen.<BR>
    Geht das nicht direkt? Also, das ich den HTML-Kode in einen String (PChar) speicher, und diesen String direkt an die Komponete übergebe?
    Ich bin für jeden Fingerzeig dankbar.<BR>
    <BR>
    MFG,cu,LLAP Ralph Erdt

  • #2
    Hallo,

    selbstverständlich geht der direkte Weg, so dass der Umweg über die Datei nicht notwendig wird:
    <pre>
    { Aufgabe 2: HTML-Text im Programm generieren und einfügen }

    procedure TForm1.ToolButtonHTMLClick(Sender: TObject);
    var
    vDocument,
    vMIMEType,
    vHTML : OleVariant;
    begin
    if not VarIsEmpty(WebBrowser1.Document) then
    begin
    vDocument := OleVariant(WebBrowser1.Document).Script.Document;
    vMIMEType := 'text/html';
    vHTML := '< HTML >< HEAD >< TITLE >Test< /TITLE >< /HEAD >< BODY >' +
    '< b >Delphi 5 steuert TWebBrowser!< /b >< p >' +
    'Delphi 5 und TWebBrowser greifen auf Script.Document zu.' +
    '< /BODY >< /HTML >';
    vDocument.Open(vMIMEType);
    vDocument.Clear;
    vDocument.Writeln(vHTML);
    vDocument.Close;
    end;
    end;

    { Aufgabe 2 in einer Abwandlung }

    procedure TForm1.ToolButtonHTML2Click(Sender: TObject);
    begin
    if not VarIsEmpty(WebBrowser1.Document) then
    OleVariant(WebBrowser1.Document).Script.Document.B ody.InnerHTML :=
    '< b >Delphi 5 und TWebBrowser greifen auf Scriptdocument.Body.InnerHTML zu.< /b >';
    end;
    </pre&gt

    Comment


    • #3
      Moin!<BR>
      Danke.<BR>
      MFG,cu,LLAP Ralph Erd

      Comment


      • #4
        Moin!<BR>
        Wie bekomme ich es jetzt hin, das das Document nicht mehr NIL ist?<BR>
        Laut Hilfe, muß man da Navigate sagen - sprich vorher eine Datei laden. Das ist aber auch nicht soooooo optimal.<BR>
        BTW: In der letzten Stunde habe ich meinen Rechner ca. 10x neu starten müssen - kann es sein, das die Webkomponente es nicht mag, wenn man sie durchsteppt?<BR>
        Folgendes:<BR>
        --------<BR>
        -Brakpoint-<BR>
        WebBrowser.navigate('irgendowhin.de');<BR>
        --------<BR>
        Und bei dem Step über/durch navigate schmiert mir der Rechner so hart ab, das ich nur mit Mühe einen Weg gefunden habe, den Rechner 'sanft' zu beenden. (Delphi Beenden - Debugger beenden: JA - Warten - Kann nicht abgbrochen werden: Abbrechen - Delphi Beenden - Rechner neu starten) <BR>
        <BR>
        MFG,cu,LLAP Ralph Erd

        Comment


        • #5
          Hallo,

          man muss nicht unbedingt vorher eine Datei laden, sondern kann gleich auf die IE-internen Seiten zugreifen. Der Aufruf von <b>about:blank</b> ruft eine völlig leere HTML-Seite auf:
          <pre>
          procedure TForm1.FormCreate(Sender: TObject);
          begin
          WebBrowser1.Navigate('about:blank');
          end;
          </pre&gt

          Comment


          • #6
            th

            Comment

            Working...
            X