Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-03-2008
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
Problema con atributos privados

Hola tengo el siguiente codigo:
Código Delphi [-]
...
private
    D, H: Real;
    
    procedure Calc_Saldo;
...

// Procedimento que calcula el saldo
procedure TForm1.Calc_Saldo;
Begin
  EdSaldo.FloatValue := D - H;
End;

// En el evento OnCreate del From
  D := SaldoDebe;
  H := SaldoHaber;
  Calc_Saldo;


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
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
Responder Con Cita
  #2  
Antiguo 04-03-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 04-03-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
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
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #4  
Antiguo 05-03-2008
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
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.
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5

Última edición por Durbed fecha: 05-03-2008 a las 11:02:18.
Responder Con Cita
  #5  
Antiguo 05-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
Tan solo para eliminar posibilidades. ¿No tienes declarados D y H dos veces? Por ejemplo, si en el evento OnCreate tienes:

Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  D, H: Real;

begin

  ...

  D := SaldoDebe;
  H := SaldoHaber;
  Calc_Saldo;
end;

En este caso, Los D y H que ve Calc_Saldo son distintos de los que ve OnCreate.

Bye
Responder Con Cita
  #6  
Antiguo 05-03-2008
Avatar de Durbed
Durbed Durbed is offline
Miembro
 
Registrado: ago 2004
Posts: 166
Poder: 20
Durbed Va por buen camino
jajajaja keyboy gracias, te juro que había revisado el código y no lo vi, en que estaría mi cabeza acepto collejas.

PD: Ya estaba pensando en alguna elucubración extraña para arruinarme la semana
__________________
Intentando hacer algo con Delphi 7 y Firebird 1.5
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
Problema con Mensajes Privados y Opera egostar La Taberna 10 08-02-2008 02:14:21
Atributos css Io HTML, Javascript y otros 3 13-02-2007 18:14:35
Acuerdense de mirar sus mensajes privados Delphos Varios 1 22-02-2005 21:12:51


La franja horaria es GMT +2. Ahora son las 16:22:33.


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