Utilisez la représentation suivante de la fonction pour générer une archive Web à partir d'un fichier HTML localCréer *. MHT fichier (Web Archive)
function TLessonConstructor2.CreateMHT(const FileName : string):boolean ;
var
oMSG:IMessage;
oConfig: IConfiguration;
sFileName: string;
Stream: _Stream;
begin
//CoInitializeEx(nil, COINIT_APARTMENTTHREADED);
//CoInitialize(nil);
try
Result := false;
sFileName := ChangeFileExt(FileName, '.mht');
DeleteFile(PAnsiChar(sFileName));
try
oConfig := CoConfiguration.Create();
oMSG := CoMessage.Create();
oMSG.Configuration := oConfig;
oMSG.CreateMHTMLBody(FileName,CdoSuppressNone,'','');
Stream:=oMSG.GetStream;
Stream.SaveToFile(sFileName,adSaveCreateOverWrite);
Stream.Cancel;
Stream.Close;
Result := True;
except
on E: Exception do
begin
Result := false;
MessageDlg(E.Message, mtError, [mbOK], 0);
end;
end;
finally
// CoUnInitialize;
Stream:=nil;
oConfig:=nil;
oMSG:=nil;
end;
end;
FileName - chemin complet du html.
Après avoir effectué oMSG.CreateMHTMLBody (FileName, CdoSuppressNone, '', ''); Ce fichier est verrouillé tant que le processus de base est terminé. Cependant, ce fichier doit être supprimé après le traitement.
Avez-vous une idée du problème?
Vous finalisez '' oMSG' et oConfig' dans le mauvais ordre. Probablement ne fait aucune différence. –
J'ai essayé de changer l'ordre, n'affecte pas – Fatum
Avec le CreateMHTMLBody exige l'URL, S'assurer si local, précédé du fichier: /// –