Announcement

Collapse
No announcement yet.

SaveToMHT

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

  • SaveToMHT

    Hallo,

    ich habe mal wieder ein interessantes problem.
    Also, unten steht eine Routine, die ich verwende, um aus einer HTML seite mit Bildern eine einzige Datei generiere. Diese Funktion habe ich in irgend einer FAQ gefunden.

    Meine erste Frage. Wenn ich eine Datei erzeuge bei der die quelldatei "export.htm" heisst, wieso löscht er dan den inhalt von ideser und erzeugt auch keine richtige ausgabe datei, jeder andere Filename den ich ausprobiert habe funktioniert. Handelt es sich wiedermal um ein Bug?

    Zweite Frage und auch die für mich wichtigere. Wenn ich jetzt mit dieser Routine eine neue Datei erzeugt habe, kann ich die Quelldatei nicht löschen, da die Datei immer noch gesperrt ist. wie kann ich diese Sperre aufheben?
    Ich kenne mich auch nicht mit diesen "Ole" Variablen aus. ein "oMSG.free;" funktioniert nicht. Und ich habe auch irgendwie keine übersicht, was das Objekt alles für mehtoden hat. Also "STRG+Leertaste" liefert nichts zurück und die Hilfe hat sich bei mir auch ausgeschwiegen.

    Danke schon mal für die Hilfe.

    <pre>
    function SaveToMHT(const AUrl,AFileName: string;
    AShowErrorMessage : boolean = false) : boolean;
    var
    oMSG,oConfig : OleVariant;
    sFileName : string;
    Retvar : boolean;

    begin
    sFileName := ChangeFileExt(AFileName,'.mht');
    DeleteFile(PAnsiChar(sFileName));

    try
    oConfig := CreateOleObject('CDO.Configuration');
    oMSG := CreateOleObject('CDO.Message');
    oMSG.Configuration := oConfig;
    oMSG.CreateMHTMLBody(AUrl);
    oMSG.GetStream.SaveToFile(sFileName);
    Retvar := true;
    except
    on E : Exception do begin
    if AShowErrorMessage then MessageDlg(E.Message,mtError,[mbOk],0);
    Retvar := false;
    end;
    end;

    oMSG := VarNull;
    oConfig := VarNull;

    Result := Retvar;
    end;
    </pre>
Working...
X