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 27-03-2008
teclilla teclilla is offline
Miembro
 
Registrado: feb 2008
Posts: 41
Poder: 0
teclilla Va por buen camino
Error de CPU al visualizar un formulario

Hola amigos, estoy terminando una aplicacion en Delphi 5 sobre presupuestos y albaranes con base de datos en Paradox 7 y tengo un problema cuando el programa está en ejecucion.
La aplicación compila bien y ejecuta bien, cuando esta en uso los demas formularios funcionan bien, es decir, pulso en el boton de cliente y muestra el formulario correspondiente, etc. pero con el de presupuestos no es así, al pulsar el boton para que muestre el formulario de presupuestos me sale la ventana de CPU y se para.
El formulario se crea bien y completamente:
Código Delphi [-]
procedure TFormPresupuestos.FormCreate(Sender: TObject);
begin
        //abrimos tablas
        TPresupuestos.Open;
        TPresupuestos.First;
        ComprobarContrato;
        TCliente.Open;
        TProductos.Open;
        TPresProdDetalle.Open;
        PresupuestoBuscado:=-1;
        importes:=TPresupuestos.FieldByName('SumaTotal').asFloat;
        DBEditsLectura;
        SpeedButtonConfirmar.Visible:=false;
        SpeedButtonCancelar.Visible:=false;
end;
Alguien puede indicarme a que puede ser debido, muchas gracias de antemano.
P.D.: No sabia donde poner este nuevo tema.
Responder Con Cita
  #2  
Antiguo 27-03-2008
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 922
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
Puedes dar mas de informacion sobre que realizar estos procedimientos?

ComprobarContrato;

DBEditsLectura;


Tienes algo de codigo en los eventos del las Tablas (BeforeOpen, AfterOpen,...)?

Saludos desde
Concepcion-Chile
Responder Con Cita
  #3  
Antiguo 28-03-2008
teclilla teclilla is offline
Miembro
 
Registrado: feb 2008
Posts: 41
Poder: 0
teclilla Va por buen camino
ComprobarContrato es llamado en Tpresupuestos en el evento AfterScroll y comprueba si para un presupuesto existe un contrato:
Código Delphi [-]
procedure TFormPresupuestos.ComprobarContrato;
begin
        if (TPresupuestosContrato.IsNull) then
           SpeedButtonContrato.Caption:='Hacer contrato'
           else SpeedButtonContrato.Caption:='Ver contrato';
end;

En el evento BeforeDelete de Tpresupuestos se realiza lo siguiente (borra cada linea de detelle del presupuesto de la tabla detalle (maestro/detalle):

Código Delphi [-]
QCanBorD.Params[0].AsInteger:=TPresupuestosIdpres.AsInteger;
        QCanBorD.ExecSQL;
        QCanBorD.Close;

Las demás tablas no tienen nada en los eventos.
Y DBEditsLectura pone campos para solo lectura:
Código Delphi [-]
procedure TFormPresupuestos.DBEditsLectura;
begin
        DBEditIdpre.ReadOnly:=true;
        DBEditFechaPre.ReadOnly:=true;
        DBEditLinst.ReadOnly:=true;
        DBEditSuma.ReadOnly:=true;
        DBMemoFp.ReadOnly:=true;
        DBMemoObs.ReadOnly:=true;
        EditCodigo.Text:='';
        EditNombre.Text:='';
        EditCantidad.Text:='';
        PanelProd.Enabled:=false;
        PanelCli.Enabled:=false;
        SpeedButtonAnaLProd.Enabled:=false;
        SpeedButtonQuiLProd.Enabled:=false;
end;

He puesto puntos de ruptura y el FormCreate lo realiza todo y se para justo en el end; danto error de CPU.
Alguna idea?
Muchisimas gracias por tu contestación, estoy atascada ahí.
GRACIAS.
Responder Con Cita
  #4  
Antiguo 28-03-2008
cloayza cloayza is offline
Miembro
 
Registrado: may 2003
Ubicación: San Pedro de la Paz, Chile
Posts: 922
Poder: 23
cloayza Tiene un aura espectacularcloayza Tiene un aura espectacular
No logro detectar problemas a tu codigo.

Te aconsejo que deshabilites el codigo de ese formulario y lo vayas incorporando de a poco para asi detectar donde podria estar el problema.

En alguna ocacion me paso algo similar, esto se debia a que estaba usando algun objeto de un formulario que no habia sido creado.

Saludos desde
Concepcion-Chile
Responder Con Cita
  #5  
Antiguo 28-03-2008
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Revisa esta parte
Código Delphi [-]
        PresupuestoBuscado:=-1;
        importes:=TPresupuestos.FieldByName('SumaTotal').asFloat;
        DBEditsLectura;
        SpeedButtonConfirmar.Visible:=false;
        SpeedButtonCancelar.Visible:=false;

AsFloat podría estar causando el error en la conversión. Pon un breakpoint en la línea PresupuestoBuscado:=-1; y tracea el código desde ahí hasta el final de la rutina presionando la tecla F7 y será más facil detectar el error y revisa la configuración de ese campo en la DB.

Saludos.

Última edición por Black_Ocean fecha: 28-03-2008 a las 19:51:07.
Responder Con Cita
  #6  
Antiguo 02-04-2008
teclilla teclilla is offline
Miembro
 
Registrado: feb 2008
Posts: 41
Poder: 0
teclilla Va por buen camino
Muchas gracias por tu contestación, he realizado lo que me has aconsejado y al ejecutar paso a paso no hay problema, realiza todas las instrucciones. SumaTotal es un campo tipo $(Money), pero esa instruccion, al parecer la realiza correctamente, de hecho termina todo el procedimiento hasta llegar al end y a la hora de visualizarlo es cuando falla y se para, pero si en ese momento le das dos veces mas al boton de ejecutar la aplicacion sigue y se ejecuta al completo. No se que puede pasar, he pensado que falla en algo de la visualizacion, igual tiene que ver con alguna biblioteca *.bpl o algo así, pero no tengo ni idea, ojala alguien tenga alguna inspiración.
Muchas gracias.
Teclilla.
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
Error al abrir un formulario narrolaso Impresión 3 04-04-2008 18:29:54
formulario con error Patricio Varios 6 24-09-2007 20:59:09
Problema al visualizar Formulario JuanchoArg Varios 1 11-12-2006 19:10:42
error al crear formulario didier OOP 2 23-12-2005 18:05:41
Error en Formulario Auxiliar jzk OOP 8 20-09-2004 20:58:33


La franja horaria es GMT +2. Ahora son las 23:55:35.


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