
Muchas gracias
| |||
Aplicación que devuelva valor Hola a todos, tengo que hacer una aplicación que reciba unos parámetros y mande un mail, hasta aqui ningún problema. El tema es que la aplicación debe devolver un valor que indique si se envió correctamente el mail o no, y eso no se como hacerlo, ¿sabeis cómo hacer para que una aplicación en VB6 devuelva un valor? ![]() Muchas gracias |
| |||
Cita: ¿Cómo mandas el email?
Iniciado por xaquin Hola a todos, tengo que hacer una aplicación que reciba unos parámetros y mande un mail, hasta aqui ningún problema. El tema es que la aplicación debe devolver un valor que indique si se envió correctamente el mail o no, y eso no se como hacerlo, ¿sabeis cómo hacer para que una aplicación en VB6 devuelva un valor? ![]() Muchas gracias |
| |||
Cita: Entonces no es mi campo ;) Digamos que si pudieses saber que información te manda el servidor pues entonces simplemente es recoger la respuesta de éste ante si se ha mandado correctamente o no el mensaje, pero por Outlook... ;)
Iniciado por xaquin lo mando logándome en un perfil del outlook y con las dlls de outlook |
| |||
yo puedo saber una respuesta de si lo envió o no (otra cosa será que después no exista esa dirección y llegue una respuesta al buzón, pero eso ya se controla manualmente), mi problema es que no se cómo hacer que esta aplicación devuelva el valor, ¿tengo que hacer una función main principal?O hay una manera de devolver los valores |
| ||||
![]() Cita: Creo que sería mejor guardarlo en el registro....
Iniciado por reel Porque guardas el resultado del aplicación que envía el correo en un archivo .txt y luego desde la otra lees ese archivo para saber el resultado? A lo mejor te funciona de esa forma. Saludes ![]()
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
no son malas opciones pero en un principio la idea es que un sistema "externo" ejecute la aplicación y que esta devuelva algún resultado, como si fuera una función, creo que no es posible que esta aplicación lea el fichero o el registro en el que yo pueda guardar el resultado de la ejecución, ¿alguna idea más? |
| |||
Cita: Vamos a ver si nos aclaramos. ¿Qué quieres, que tu aplicación de VB devuelva un valor, o saber si un mail ha llegado?
Iniciado por xaquin no son malas opciones pero en un principio la idea es que un sistema "externo" ejecute la aplicación y que esta devuelva algún resultado, como si fuera una función, creo que no es posible que esta aplicación lea el fichero o el registro en el que yo pueda guardar el resultado de la ejecución, ¿alguna idea más? Si es devolver... No se me ocurre nada en VB, pero con la API puedes llamar a ExitProcess / TerminateProcess y matarte a ti mismo especificando que te permite especificar el valor devuelto por la aplicación, aunque es una chapuza. |
| |||
efectivamente, lo que quiero es que mi aplicación devuelva un valor, no saber si el mail llegó o no. Voy a probar lo de ExitProcess / TerminateProcess para ver si me funciona aunque estoy de acuerdo en que es una chapuza .... |
| |||
Cita: Es una chapuza porque hay que comprobar si está acabando la aplicación y la DLL de VB bien o se está preparando un follón que cause que alguna memoria no se libere, que alguna DLL se quede colgando o se cierre y cosas por el estilo:
Iniciado por xaquin efectivamente, lo que quiero es que mi aplicación devuelva un valor, no saber si el mail llegó o no. Voy a probar lo de ExitProcess / TerminateProcess para ver si me funciona aunque estoy de acuerdo en que es una chapuza .... Cita:
Iniciado por MSDN Exiting a process causes the following: 1. All of the object handles opened by the process are closed. 2. All of the threads in the process, except the calling thread, terminate their execution. The entry-point functions of all loaded dynamic-link libraries (DLLs) are called with DLL_PROCESS_DETACH. After all attached DLLs have executed any process termination code, this function terminates the current process, including the calling thread. 3. The state of the process object becomes signaled, satisfying any threads that had been waiting for the process to terminate. 4. The states of all threads of the process become signaled, satisfying any threads that had been waiting for the threads to terminate. 5. The termination status of the process changes from STILL_ACTIVE to the exit value of the process. If one of the terminated threads in the process holds a lock and the DLL detach code in one of the loaded DLLs attempts to acquire the same lock, then calling ExitProcess results in a deadlock. In contrast, if a process terminates by calling TerminateProcess, the DLLs that the process is attached to are not notified of the process termination. Therefore, if you do not know the state of all threads in your process, it is better to call TerminateProcess than ExitProcess. Note that returning from the main function of an application results in a call to ExitProcess. |
| ||||
Cita: Me refería al Registro de Windows, y la otra aplicación lee de una clave el valor devuelto, en vez de un archivo *.txt
Iniciado por MaxExtreme ¿En el registro?
__________________ Por favor, antes de preguntar, revisa la Guía para realizar preguntas. |
| |||
Cita: Exacto, yo también. Pero es una barbaridad. ¡¡Usar el Registro para comunicar aplicaciones es una barbaridad!! Algo así como contactar con www.whatismyip.com para obtener la IP local...
Iniciado por David el Grande Me refería al Registro de Windows, y la otra aplicación lee de una clave el valor devuelto, en vez de un archivo *.txt |