Danke für den Hinweis.
Die Meldung scheint aber vom SMTP-Client zu kommen. Die Datei wird später geschrieben.
Anbei die msgbox mit der Fehlermeldung.
[img]
http://b-reinhardt.de/images/meldung.jpg
[/img]
Am Ende zeige ich die Meldung in einer MSGBOX an. Dazu wird die errorlog gelesen.
Schreiben der Datei sollte somit möglich sein.
Anbei die Anzeigeroutine und der errorhandler.
Code: Alles auswählen
if lTestMail
cSubject := "Meine Email " + " Zeit: " + Time() + " Datum: " + dtoc(date())
if fSendeFile(cSubject, cDatei, cMyVerzeichnis, cWas, lDemo)
msgbox("Email konnte verschickt werden ")
else
if file(cMyVerzeichnis + "email.log")
msgbox(memoread(cMyVerzeichnis + "email.log")) //email.log wird vom logwriter erstellt / geändert
endif
endif
endif
Code: Alles auswählen
/* Klasse für das Schreiben der Logdatei wenn ein Fehler auftritt, bzw. auch wenn alles glatt läuft */
CLASS LogWriter
VAR lIsError
VAR aMessage
VAR cLogFile
EXPORTED:
INLINE METHOD init( cLogFile )
::cLogFile := cLogFile
::aMessage := {}
::lIsError := .F.
RETURN
INLINE METHOD write( cMsg )
AAdd( ::aMessage, cMsg )
RETURN self
INLINE METHOD logError( cMsg )
::lIsError := .T.
::write( cMsg )
RETURN self
INLINE METHOD isError
RETURN ::lIsError
INLINE METHOD writeLogFile
LOCAL nHandle
IF .NOT. FExists( ::cLogFile )
nHandle := FCreate( ::cLogFile )
ELSE
nHandle := FOpen( ::cLogFile )
FSeek( nHandle, 0, FS_END )
ENDIF
AEval( ::aMessage, {|cMsg| FWrite( nHandle, cMsg + CRLF ) } )
FClose( nHandle )
RETURN self
ENDCLASS
Bernd