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>
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>