Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-04-2004
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Acceso denegado

Hola. Estoy programando en Delphi 5. De vez en cuando, cuando se ejecuta el programa y se abre una nueva pantalla en modal me aparece la excepción de error "Acceso denegado". Si lo aceptamos y continuamos volviendo a intentar entra en la pantalla ya no lo da. Me occure tanto si lo ejecuto desde el delphi como fuera de él, y no siempre con el mismo formulario, sino de forma aleatoria. Trato de ver con el delphi en que punto del programa se produce el error, pero es imposible verlo ni saber de donde viene esa excepción.
He añadido por el programa instrucciones para liberar memoria virtual por si el problema venía de ahí. Además he revisado que todos los objetos que se crean son destruidos y no se queda por ahí ninguno colgado.
La aplicación es MDI pero tiene algunas ventanas Modales, aunque el mensaje también aparece a veces con las ventanas no modales.

¿De donde procede esa excepción?
Gracias.
Responder Con Cita
  #2  
Antiguo 21-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Es muy poca la información que das ya que no sabemos en absoluto qué hacen tus formularios. El error tiene toda la pinta de un error de sistema operativo que se genera cuando se intenta acceder a un archivo que está en uso en modo exclusivo. Quizá si especificas más qué hacen tus formularios tengamos una mejor idea.

// Saludos
Responder Con Cita
  #3  
Antiguo 21-04-2004
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Acceso denegado

Hola. Las pantallas que se abren sólo solicitan datos, es decir son TEdit y bitbtns. El evento OnCreate de esas pantallas no tiene nada, ni el OnActivate. He comprobado que se van liberando los recursos también utilizado una librería que realiza ese chequeo (snoop) de forma automática.
Tengo puesto un TApplicationEvents que captura las excepciones que no han sido manejadas localmente y da ese mensaje de error "Acceso denegado" Además, lo que me extraña es que no me de el mensaje en inglés que es lo habitual cuando se produce una excepción (y no he cambiado los errores del delphi a español).
Lo que me gustaría saber es a que se refiere la excepción "acceso denegado". ¿Acceso denegado a qué?. No encuentro información sobre eso.

Gracias.
Responder Con Cita
  #4  
Antiguo 21-04-2004
sur-se sur-se is offline
Miembro
 
Registrado: may 2003
Posts: 212
Poder: 21
sur-se Va por buen camino
Otra cosa más, también tengo puesto por el programa las llamadas a esta función:

Código:
// By Ian Marteens (libera memoria viartual que no se utiliza)
procedure TModuloDatos.LiberarMemoria;
begin
       if Win32Platform = VER_PLATFORM_WIN32_NT then
              SetProcessWorkingSetSize(GetCurrentProcess, $FFFFFFFF, $FFFFFFFF);
end;
Salu2.
Responder Con Cita
  #5  
Antiguo 21-04-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
¿Has probado deshabilitar temporalmente esta función para ver si es la causante? El mensaje, por lo mismo que dices de que no has traducido ningún recurso de Delphi suena a provenir del sistema y supongo que si tu Windows está en español de ahí que el mensaje salga en español.

// Saludos
Responder Con Cita
  #6  
Antiguo 21-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Algo que te puede arrojar una luz, es la clase de la excepción que se ha elevado, que en el evento OnException viene en el parámetro E, y que podes averiguar consultando su propiedad ClassName.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 16:06:09.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi