Se me cae la aplicación despues de 30-50 capturas

Post Reply
cybergrates
Posts: 6
Joined: Mon Nov 13, 2006 11:11 pm
Contact:

Se me cae la aplicación despues de 30-50 capturas

Post by cybergrates »

Los mejores deseos para este año nuevo 2008 a todos los miembros del foro.

Estoy usando la versión FWH 7.05 de mayo del 2007 para harbour y se me cuelga la aplicación en un dialogo recursivo en un get despues de 30 a 50 veces que si puedo capturar. PUEDO AUMENTAR MEMORIA? o se SATURA EL STACK ?? o como puedo MATAR LA PILA QUE SE FORMA PARA NO AGOTAR MEMORIA ???? . o COMO PUEDO CAPTURAR EL ERROR O EL RECURSO O LA CAUSA QUE PROVOCA EL CRASH ???
Cuando se me cuelga tengo que salir con CTRL ALT DEL y no se me pierde ningun dato y puedo continuar con la captura pero otra vez se me cae la aplicación despues de 30 - 50 capturas.
No me marca ningún error al compilar ni antes de que se cuelgue la aplicación
anexo programa fuente en :

http://rapidshare.com/files/80130654/corona.prg.html

Gracias por adelantado por su AYUDA Y guia
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

En tu código la función BldDlg1() se llama a si misma (BldDlg1()) por lo que vas aumentando la pila hasta que tiras la aplicación.

Tienes que cambiar el diseño de tu código. Una función no debe llamarse a si misma, salvo en muy determinadas y controladas circunstancias.
regards, saludos

Antonio Linares
www.fivetechsoft.com
cybergrates
Posts: 6
Joined: Mon Nov 13, 2006 11:11 pm
Contact:

Post by cybergrates »

Efectivamente, ya cambié la estructura y ya no se cuelga la aplicación pero ahora no he podido con :

1.- Saltar en el dialogo oDlg el listbox (oLbx), tengo primero el oCombo luego un oGet y al final el listbox que es el que necesito saltar, lo he intentado con :
oLbx:oJump:=oCombo
oCombo:SETFOCUS()
oDlg:aControls[ 1 ]:SetFocus()
pero sin resultado favorable ( linea 1038 )

2.- En la función datox() :case GetKeyState(13) linea 743 solo me reconoce el ENTER del tablero normal y no el ENTER de la sección del teclado numérico. Donde puedo consultar el GetKeyState(?) para esa tecla ?

3.- Cuando usaba recursivamente BldDlg1() siempre podía desplegar el dialogo oDlg, ahora que no lo uso así , debido a que una función no puede llamarse asi misma, aplique
SetKey( VK_RETURN, { || paga:=2,(BldDlg1()) } )
pero tengo que apretar ENTER para volver a la función BldDlg1(), he tratado de usar:
__Keyboard( "VK_RETURN" )
para evitar teclear un ENTER pero no he logrado evitarlo
existe alguna otra forma de hacerlo ?

anexo archivo fuente en :
http://rapidshare.com/files/80428823/coro.prg.html

FELIZ AÑO 2008 FUERTES ABRAZOS !!!!!!!
Post Reply