Mi aplicación principal llama a otra aplicación de envío de correos electrónicos con:
IF FILE("c:\SySMarinaMindelo\estafeta.exe") AND lhwnd = 0
DECLARE INTEGER ShellExecute IN shell32.dll ;
INTEGER hndWin, STRING cAction, STRING cFileName, ;
STRING cParams, STRING cDir, INTEGER nShowWin
=ShellExecute(0,"runas","estafeta.exe","","",1)
ENDIF
El estafeta.exe executa:
REPORT FORM (cRelatorio) ;
OBJECT TYPE 10 ; && OBJTYPE 10 = PDF , 11 = PDF AS IMAGE , 12 = RTF , 13 = XLS , 14 = HTML
TO FILE (o_ficheiro_anexo)
Después de que la aplicación remitente envía el documento adjunto en el correo electrónico, envía:
TRY
DELETE FILE (o_arquivo_anexo)
IF FILE(o_arquivo_anexo)
MESSAGEBOX("¡No se pudo eliminar el archivo!", 16, "Error")
ENDIF
CATCH TO loException
MESSAGEBOX("Error: " + loException.Message, 16, "Error")
ENDRY
El error persiste incluso después de crear el archivo en la carpeta del usuario.