Problema con atributos privados
Hola tengo el siguiente codigo:
SaldoDebe y SaldoHaber son valores que saco de una base de datos, el problema es que dentro del procedimiento Calc_Saldo, el valor de D y H es 0. En el evento OnCreate los valores de D y H son los que le asigno, es decir, que al volver el control del programa al procedimiento OnCreate D y H vuelven a tener los valores que tenian antes de la llamada al procedimiento Calc_Saldo. A ver si podeis aclarar a que se debe esto y como podria solucionarlo. Gracias |
Hola
Pues no se entiende muy bien, pero veamos por partes: En el oncreate indicas: D := SaldoDebe; H := SaldoHaber; Calc_Saldo; Que dice esto? Cuando se cree el form, D y H obtengan el valor de la bd y seguidamente cambienlo por el del procedimiento Calc_Saldo. Osea que seria lo mismo que poner en el evento oncreate directamente el valor del procedimiento, ya que es lo que estas haciendo. Para mi si lo que se quiere es limpiar el valor cada vez que se cree el form, o usaria una directriz o lo haria mas bien cuando se destruya el from, no antes. Saludos |
A menos que estes creando la forma en tiempo de ejecución es correcto usar el código en el evento OnCreate, pero......., si no la estas creando te recomiendo que uses el evento OnShow.
Salud OS |
A ver, al crear la forma leo los valores de la base de datos y se los asigno a los atributos D y H, es un ejemplo sencillo para no extenderme, pues el procedimiento no tiene una linea, el problema es que dentro del procedimiento D y H tienen valor 0 cuando en el evento OnCreate han tomado otros valores (lo he comprobado).
He probado a declarar los atributos como públicos pero el resultado es el mismo. Un saludo y gracias. PD: EdSaldo es un TAdvEdit que admite un valor real y ahí no esta el problema, sino en D y H. |
Tan solo para eliminar posibilidades. ¿No tienes declarados D y H dos veces? Por ejemplo, si en el evento OnCreate tienes:
En este caso, Los D y H que ve Calc_Saldo son distintos de los que ve OnCreate. Bye |
jajajaja keyboy gracias, te juro que había revisado el código y no lo vi, en que estaría mi cabeza :eek::eek::eek::eek: acepto collejas.
PD: Ya estaba pensando en alguna elucubración extraña para arruinarme la semana |
La franja horaria es GMT +2. Ahora son las 12:04:42. |
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