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 07-11-2005
molina669 molina669 is offline
Miembro
 
Registrado: nov 2005
Ubicación: Elche
Posts: 40
Poder: 0
molina669 Va por buen camino
ERROR con formulario showmodal

Hola a todos y les agradecería que me ayudaran con un problemilla que fijo es una tontería pero que me trae locooooo.
Mi problema es que abro un formulario,donde introduzco una nueva provincia, con showmodal desde otro formulario. El formulario "showmodal" se abre bien, pero el problema viene cuando el padre tiene que evaluar si ha devuelto mrok o mrcancel. me sale el típico mensaje de "acces violation", ya he comprobado que los botones devuelven mrok y mrcancel.

Dentro de mi locura transitoria he intentado incluso abrir el formulario con show y no con showmodal(evidentemente tb sin mrok ni mrcancel) y me lo hace de PM, pero solo una vez, la segunda me da el mismo "access violation".

Les pido ayudo porque ya no se donde meterme.

Gracias a tod@s

Última edición por molina669 fecha: 07-11-2005 a las 11:17:57.
Responder Con Cita
  #2  
Antiguo 07-11-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Debes tener en cuenta dónde creas la instancia del formulario que muestras.
Tu problema parece que se debe a que destruyes el formulario y después intentas acceder a sus datos, y por esto te da error.

Espero que te sirva

Edu
Responder Con Cita
  #3  
Antiguo 07-11-2005
molina669 molina669 is offline
Miembro
 
Registrado: nov 2005
Ubicación: Elche
Posts: 40
Poder: 0
molina669 Va por buen camino
Gracias por contestar, lo he comprobado y el error me da en la linea:" if (frmprovincia.showmodal =true) then", luego no intento acceder a sus elementos, sino a ella misma. Tal vez sea algún problema en la configuracion de delphi. Uso delphi5 con ADO, por si os sirve de algo pa ayudarme.
Responder Con Cita
  #4  
Antiguo 07-11-2005
Avatar de epuigdef
epuigdef epuigdef is offline
Miembro
 
Registrado: jul 2005
Posts: 196
Poder: 19
epuigdef Va por buen camino
Ya me imaginaba que te daba el error en esta línea, pero el tema está en dónde creas la instancia de frmprovincia. En algún lugar no lejos de ahí y un poco más arriba debería estar la creación, del tipo

Código Delphi [-]
   frmProvincia := TFrmProvincia.create(nil);

Y más abajo la destrucción:

Código Delphi [-]
   frmProvincia.free;


En general, cuando se usa un formulario modal la estructura es la siguiente:


Código Delphi [-]
  function recuperarDato : String;
  var frmProvincia : TFrmProvincia;
       temporal  String;
  begin
      frmProvincia := TFrmProvincia.create(Nil);
      try
         if frmProvincia.showmodal = mrOk then
            temporal := frmProvincia.EditProvincia.text
         else
            temporal := '';
 
     finally
       frmProvincia.free;
     end;
   
     recuperardato := temporal;
  end;

Un saludo

Edu
Responder Con Cita
  #5  
Antiguo 07-11-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
En lugar de frmprovincias.Free,
pon FreeAndNil(frmprovincias).

La diferencia es que con .Free, el puntero frmprovincias no queda apuntando a nil, sino a la dirección de memoria donde se encontraba la ventana, como ya se ha liberado, estas accediendo a una dirección no válida.

Ten cuidado de que la forma no tenga cafree en su evento OnClose, ya que al cerrarse se destruirá, y puedes perder la referencia.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #6  
Antiguo 08-11-2005
molina669 molina669 is offline
Miembro
 
Registrado: nov 2005
Ubicación: Elche
Posts: 40
Poder: 0
molina669 Va por buen camino
Gracias a los dos me ha servido mucho vuestra ayuda
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 03:55:05.


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