Ir al contenido


Foto

[RESUELTO] Problemas al cerrar un form


  • Por favor identifícate para responder
8 respuestas en este tema

#1 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 03 agosto 2011 - 02:36

saludo nuevamente a todo el foro delphi

tengo problemas al cerrar un form que se llama frm_datosEgreso
al dar click en el  AdvGlowButton Cancelar  me sale un error

Access violation at address 004AD66E in module 'Historia_clinica.exe '. read of address 000002F4


el codigo que tengo es



delphi
  1. if Frm.ModalResult = mrOk then
  2.       begin
  3.           if ((Frm.DBLookupComboBox1.KeyValue <> null)OR(Frm.DBLookupComboBox3.KeyValue <> null)OR(Frm.DBLookupComboBox4.KeyValue <> null)OR(Frm.DBLookupComboBox5.KeyValue <> null)OR(Frm.q_DxSalida.Fields[0].AsInteger <> 0)) then BEGIN
  4.                 RegActuales.MotivoEgreso := Frm.DBLookupComboBox1.KeyValue ;                    // Frm.q_Motivo.Fields[0].AsInteger;
  5.                 RegActuales.DestinoEgreso:= Frm.DBLookupComboBox3.KeyValue ;              //Frm.q_Destino.Fields[0].AsInteger;
  6.                 RegActuales.EstadoEgreso := Frm.DBLookupComboBox4.KeyValue;            //Frm.q_EstadoSalida.Fields[0].AsInteger;
  7.                 RegActuales.Destino3047Egreso := Frm.DBLookupComboBox5.KeyValue;    //Frm.q_Destino3047.Fields[0].AsInteger;
  8.                 RegActuales.DxEgreso:= Frm.q_DxSalida.Fields[0].AsInteger;      // lo Comentado valida los registros por buscadores
  9.                 Result := True;
  10.           end;
  11.       raise Exception.Create('debe llenar todos los valores');
  12.       end;
  13. if frm.ModalResult = mrCancel then
  14.     FrmDatosEgreso.Close;
  15. finally
  16.     Frm.Free;
  17.     Fdm.Free;
  18.     end;
  19. end;


  • 0

#2 Wilson

Wilson

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.137 mensajes

Escrito 03 agosto 2011 - 02:47

FELIX,  si el usuario cancela lo lógico es que ese botón no haga nada (si acaso cerrar los datasets asociados a los combos, aunque  no conozco la lógica de tu programa), por lo tanto quita ese código asociado al evento, solo coloca la propiedad ModalResult del botón a mrCancel y listo.

Saludos
  • 0

#3 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 03 agosto 2011 - 02:53

el boton tiene los datos que me escribiste, pero al dar clic el boton no hace absolutamene nada me muestra el form nuevamente pero no lo cierra

  • 0

#4 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 agosto 2011 - 03:55

El error está haciendo referencia a que estás intentando tener acceso a un objeto que no existe... yo creo que el error viene en las líneas de Frm.Free o Fdm.Free...
Coméntalas y nos platicas va ?  (y)


Saludox ! :)


  • 0

#5 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 03 agosto 2011 - 04:13

NOO  :cry: SALE EL MISMO ERROR CON LAS LINEAS COMENTADAS
  • 0

#6 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 agosto 2011 - 04:19

Y si recorres el programa línea por línea en ejecución para que puedas darte exactamente cuenta en dónde te brinca el access violation ???


Insisto, ese error hace referencia a que quieres manipular un objeto que no existe... (y)


Saludox ! :)
  • 0

#7 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 03 agosto 2011 - 04:43

tenia toda la razon habia un evento que me hacia generar esa falla.

gracias a todos por la colaboracion.


saludos          :smiley:
 
  • 0

#8 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 03 agosto 2011 - 05:05

tenia toda la razon habia un evento que me hacia generar esa falla.

gracias a todos por la colaboracion.


saludos         
 



No seas malo cuentanos en dónde estaba tu error, puede que le sirva a alguien más  :wink:


Saludox ! :)
  • 0

#9 FELIX

FELIX

    Advanced Member

  • Miembros
  • PipPipPip
  • 123 mensajes

Escrito 05 agosto 2011 - 08:36

primero le habian creado un alias al form ya no se llama frm_datos egreso sino Frm
en otro formulario que se llama frm_consulta urgencia tenian una funcion donde lo abrian coloque una variable boolean en un IF
  • 0




IP.Board spam blocked by CleanTalk.