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 14-05-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 18
Guillermo80 Va por buen camino
Excepción llamando propiedad

Hola, me pasa una excpeción un tanto extraña. Resulta que mi programa principal hace una codificación, pero justo antes de codificar, llamo a una función que me deshabilita (Enabled=false) todos los botones del formulario, y después, cuando termina, llamo a otra que los vuelve a habilitar:
Cita:
procedure TForm1.BtnDecodeClick(Sender: TObject);
begin

DesHabilitaTodo(Sender);
DecodeFile(EditDest.Text, EditFileName.Text);
HabilitaTodo(Sender);

end;
Pues resulta, que todo va bien, pero cuando llama a HabilitaTodo, es cuando salta la siguiente excepción:

Cita:
Project E:\...\programa.exe faulted with message: 'accesviolation at 0x0044cf17: read of address 0x445c3a43'. Process Stopped.
Use Step or Run to continue.
No entiendo por qué ocurre, ya que dehabilita bien, codifica bien, pero al volver a habilitar... ¡ zas, en toda la boca !

Por cierto, DeshabilitaTodo, hace la propiedad de cada boton a Enabled:=false, a todos menos a un botón de Cancelar.

¡¡ HELP !!
Responder Con Cita
  #2  
Antiguo 14-05-2008
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
Si el fallo aparece al llamar a HabilitaTodo, quizá sea mejor que pongas el código que usas en ese procedimiento.

// Saludos
Responder Con Cita
  #3  
Antiguo 14-05-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
Pon el codigo de 'habilitaTodo'
Responder Con Cita
  #4  
Antiguo 14-05-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 18
Guillermo80 Va por buen camino
La función no es ningún misterio, y es análoga a DeshabilitaTodo (salvo en el botón de cancelar):

Cita:
procedure TForm1.HabilitaTodo(Sender: TObject);
begin
EditFileName.Enabled := true;
EditDest.Enabled := true;
Button1.Enabled := true;
BtnDecode.Enabled := true;
Titulo.Enabled := true;
Artista.Enabled := true;
Album.Enabled := true;
Fecha.Enabled := true;
Pista.Enabled := true;
Genero.Enabled := true;
CheckBoxVentana.Enabled := true;
CheckVentanas.Enabled := CheckBoxVentana.Checked;
Memo1.Enabled := true;
end;
Asímismo le añadí la cabecera del método arriba en la declaración de cabebceras:

Cita:
procedure TForm1.HabilitaTodo(Sender: TObject);
Responder Con Cita
  #5  
Antiguo 14-05-2008
Avatar de Guillermo80
Guillermo80 Guillermo80 is offline
Miembro
 
Registrado: may 2007
Posts: 87
Poder: 18
Guillermo80 Va por buen camino
Otro detalle, resulta que si no llamo a HabilitaTodo y hago simplemente:

Cita:
EditFileName.Enabled := true;
...el fallo sigue saliendo.
Responder Con Cita
  #6  
Antiguo 14-05-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
mira con el debugger a ver si es q te has cargado algun objeto con la funcion decodefile. O con el Ctrl+F3, para saber donde exactamente te salta la excepcion. A veces tb lo q pasa es q si se sale mucho de algun programa (por excepcion o con el ctrl+f2) se quedan restos en memoria ... se fastidia prueba entonces de cargar otra vez el delphi...

Ahora q estoy pensando, tienes algun evento onchange en alguno de estos objetos q te pudiese provocar la excepcion?
Responder Con Cita
  #7  
Antiguo 14-05-2008
[coso] coso is offline
Miembro Premium
 
Registrado: may 2008
Ubicación: Girona
Posts: 1.678
Poder: 0
coso Va por buen camino
y en DecodeFile liberas todos los objetos q creas?
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
llamando un procedure desde la base de datos ANALILIAHUJA Conexión con bases de datos 4 11-01-2008 18:58:14
llamando Procedimiento Almacenado desde Delphi jjaen26 MySQL 2 15-08-2007 02:53:26
Excepción en JSP david.rguez JAVA 1 14-02-2007 22:21:02
problema llamando a una DLL quinqui OOP 4 03-07-2006 23:19:37
Llamando por Telefono ASAPLTDA OOP 0 22-01-2005 00:26:50


La franja horaria es GMT +2. Ahora son las 02:49:11.


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