Announcement

Collapse
No announcement yet.

bei FormCreate kann Webbrowser nicht schreiben

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

  • bei FormCreate kann Webbrowser nicht schreiben

    Hallo Leute,
    <br>
    ich habe seit gerade eben das problem, dass mir delphi meldet, dass es die datei *.html nicht erzeugen kann. Setze ich im Quellcode eine Zeile höher eine messagebox und lasse mir den pfad der zu schreibenden datei anzeigen, funktioniert es.<br>
    also zur zeit sieht es so aus
    <pre>
    begin
    Memo1.Lines.SaveToFile (App_Pfad + 'hilfe\border.html');
    WebBrowser1.Navigate(App_Pfad + 'hilfe\border.html');
    end;
    WebBrowser1.Refresh;
    <pre>
    reicht die zeit zwischen schreiben, lesen und laden bzw. refreshen nicht aus ? Zwangspausen per sleep(500); brachten keinen erfolg. ich weiss leider nicht, warum das problem auf einmal auftritt, benötige aber die routine, da ich in meinem css-maker jede veränderung in die memo und danach im webbrowser reloade. ausserdem benötige ich den inhalt des memos zum speichern in meiner projektdatei.

    wer hat hilfe.
    ich verzweifle?

    rudi

  • #2
    Propier mal Self.HandleNeeded oder WebBrowser1.HandleNeeded vorher aufzurufen.

    Gruß Hage

    Comment


    • #3
      Hallo Hagen,

      langsam dreh ich durch. ich habe bei formcreate webbrowser1.handleneeded eingegeben. kein erfolg. beim compilieren des programmes ruft das programm komischerweise eine extraroutine auf, welche ich updatechange genant habe. sie aktualisiert alle veränderungen. wenn ich dort den refresh und den navigate-befehl remme, läufts. allerdings beomme ich dann nicht mehr meinen memoinhalt in die html-datei. hier die procedure.
      <pre>
      procedure TEditform.UpdateChange(Sender: TObject);
      var
      i:integer;
      begin
      Memory.Lines.Clear;
      Memory.Lines.Add(Lbl_Tag.Caption+' {'+Tabstring);
      for i:= 6 to 38 do
      begin
      if Memo1.Lines.Strings[i] = '' then
      begin end
      else
      begin
      Memory.Lines.Insert(Memory.Lines.Count,Memo1.Lines .Strings[i]);
      end;
      end;
      if MyElement = 'xml' then
      begin
      Memory.Lines.SaveToFile(App_Pfad + 'hilfe\xml.css');
      WebBrowser1.Navigate(App_Pfad + 'hilfe\xml.xml');
      end
      else
      begin
      Memo1.Lines.SaveToFile (App_Pfad + 'hilfe\border.html');
      // WebBrowser1.Navigate(App_Pfad + 'hilfe\border.html');
      end;
      // WebBrowser1.Refresh;
      end;
      </pre>

      schau mal bitte, was ich da falsch mache.
      für deine/eure mühe dankend
      rudi
      (thomas rudolph

      Comment


      • #4
        Hallo nochmal,

        selbst wenn ich das schreiben/laden der html-datei weglasse und mit diesem code versuche direkt zu schreiben, bekomme ich eine fehlermeldung
        <pre>
        begin
        if Not VarIsEmpty(WebBrowser.Document) then
        OleVariant(WebBrowser.Document).Script.Document.Bo dy.InnerHTML := Memo.Text;
        end;
        </pre>
        Allerdings ist das problem nur beim start des programmes existent. wenn ich zwei fehlermeldungen weggeklickt habe, startet das programm und das update change funktioniert, einwandfrei.

        hhmm
        da wird sich wohl mein upload des update verschieben.
        naja, alles wird hoffentlich gut.

        rud

        Comment


        • #5
          Und nun die 3.te,

          ich habe herausgefunden, dass ich im Create-Ereignis noch ein paar andere Sachen eingetragen hatte, die zu Beginn einmal setzen muss. Ich werde das Setzen bestimmter Werte nun verschieben.

          Naja, aber immerhin hatte es ein gutes. Ich schreibe nun nicht mehr extra in eine Html-Datei und rufe diese dann auf.

          Danke
          rud

          Comment

          Working...
          X