![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Hola,
Te agradezco el enlace egostar. Curiosamente, el autor del código visto estaría en las mismas que yo, puesto que escribe algo muy similar a lo que yo mismo escribo: Código:
iSHerr = SHFileOperation (&shfos);
if (iSHerr == 0)
AfxMessageBox ("Worked fine");
else
{
wsprintf (szDebug, "SHFO gave error %d", GetLastError());
AfxMessageBox (szDebug);
}
Código:
wsprintf (szDebug, "SHFO gave error %d", GetLastError());
AfxMessageBox (szDebug);
Y añadiré algo más aún... haciendo algo más o menos así:
Si no existe la carpeta a borrar (suponiendo que esto es lo que vamos a hacer), efectivamente, se ejecuta el "else" del código de más arriba, pero, ¡el mensaje que obtengo de "SysErrorMessage" es "La operación se completó correctamente"... O sea... definitivamente algo se me escapa en todo esto. Pero gracias egostar, verás como al final sacamos algo en claro entre todos. ![]() |
|
#2
|
||||
|
||||
|
Cita:
![]() |
|
#3
|
||||
|
||||
|
Hola,
Cita:
Voy a probar esa "bandera". Gracias otra vez Seoane. ![]() |
|
#4
|
||||
|
||||
|
Hola,
Gracias Seoane. Funciona estupendamente la bandera "FOF_NOERRORUI". ![]() Ya no muestra el mensaje de error del sistema. Peeeeeeeeeero... sigo obteniendo como "último error" un "Operación completada correctamente"... aunque ahora mismo ya no sé muy bien qué pensar de esto, puesto que estoy un poco eufórico tras haber solucionado en buena medida el asunto con la banderita de marras. ![]() |
|
#5
|
||||
|
||||
|
Hola,
Sí; los tiros van por donde apuntas Román. Se ve que la función de marras del API de Windows muestra el mensaje de error... a no ser que se indique (véase más arriba) específicamente que no muestre mensajes de error. ![]() |
|
#6
|
||||
|
||||
|
Al parecer GetLastError siempre regresará cero. No obstante ShFileOperation devuelve un valor distinto de cero en caso de error. De ahí puedes partir.
// Saludos |
|
#7
|
||||
|
||||
|
Hola,
De ahí parto Román... o es la intención: como "ShFileOperation" retorna "no cero"... busco el error con "GetLastError", pero, no parece estar ahí. |
|
#8
|
||||
|
||||
|
Pues a mi lo que me preocupa es que hace esta instruccion:
Fíjate que la instrucción GetLastError no solo muestra el ultimo error, sino el ultimo resultado de una operación de la api. Así que si dentro de esa rutina se llama, aunque solo sea indirectamente, a una API, GetLastError nos estaría devolviendo ese resultado y no el error que nos interesa. |
|
#9
|
||||
|
||||
|
Yo lo veo difícil. Imagina que tú haces una dll con una función HazEsto que hace esto:
A lo que voy es: como no provea la misma api de esa función, un mecanismo para omitir los mensajes de error, no veo por donde pueda evitarse. Bueno, yo supongo que seoane puede inyectar un código a shellapi, pero habrá que esperar a que lea esto. // Saludos |
|
#10
|
||||
|
||||
|
Ja, ja, juro que no había las dos respuestas anteriores cuando escribí la mía. Pero ya veo que sí se provee el mecanismo que mencioné.
// Saludos |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Duda sobre entorno Delphi para Windows Vista | geru_deusto | Varios | 9 | 12-01-2007 13:07:12 |
| Tratamiento de Errores | jsc | Varios | 2 | 15-09-2005 16:20:01 |
| Siguen Errores de CORBA con Windows ME | zuriel_zrf | Providers | 0 | 11-08-2004 08:35:34 |
| conectar Firebird bajo entorno windows | djavier22 | Firebird e Interbase | 2 | 05-07-2004 20:10:07 |
| Tratamiento de la Voz | muli | Varios | 0 | 03-11-2003 19:46:53 |
|