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: Alguien puede indicarme a que puede ser debido, muchas gracias de antemano. P.D.: No sabia donde poner este nuevo tema. |
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 |
ComprobarContrato es llamado en Tpresupuestos en el evento AfterScroll y comprueba si para un presupuesto existe un contrato:
En el evento BeforeDelete de Tpresupuestos se realiza lo siguiente (borra cada linea de detelle del presupuesto de la tabla detalle (maestro/detalle):
Las demás tablas no tienen nada en los eventos. Y DBEditsLectura pone campos para solo lectura:
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. |
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 |
Revisa esta parte
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. |
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. |
Al parecer tiene algo que ver con esto:
Delphi 5versusXP’s ntdll.DbgBreakPoint la explicación está en la siguiente dirección: http://home.att.net/~owen_labs/rant9.htm pero no la entiendo, ya que soy bastante novata en el tema de programación, al parecer tiene que ver con el IDE. Os agradeceria algun tipo de ayuda. GRACIAS. |
Ya he averiguado porque era :)
Si alguien tiene esta duda, eh aquí la solucion: la propiedad scaled del formulario que daba el error la tenia a false, igual la cambie sin darme cuenta, este fallo tonto me ha traido de cabeza. Puse el punto de ruptura tal y como me dijiste y realizaba todo el procedimiento hasta el final, entonces a la hora de visualizar el formulario era cuando aparecia el error y se paraba y todo era por esta propiedad. Gracias. |
La franja horaria es GMT +2. Ahora son las 04:35:12. |
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