Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #2  
Antiguo 31-05-2010
LoPiTaL LoPiTaL is offline
Miembro
 
Registrado: abr 2009
Posts: 168
Poder: 18
LoPiTaL Va por buen camino
No sé si será el origen de tu error, pero creo que el error está en la función

Código Delphi [-]
function BaseDatosBanco.obtenerCuenta(numeroCuenta: Integer): Cuenta;
var
i: Integer;
begin
for i := 0 to 2 do
begin
if ((Cuenta(cuentas.Items[i]).obtenerNumeroCuenta) = numeroCuenta) then
obtenerCuenta := Cuenta(cuentas.Items[i]);
//Application.MessageBox(Cuenta(cuentas.Items[i]), "", 0);
end;
obtenerCuenta := nil;
end;

ya que aquí no pasa como en C, que cuando asignas el valor de la función, ésta termina. En Delphi, "obtenerCuenta" es una variable más (a mí me gusta sustituirla por "Result", que referencia lo mismo y sirve para todos los nombres de funciones) y no por darle un valor fuerza el fin de la función. Deberías añadir un Exit dentro del if cuando asignas el valor de obtenerCuenta.
No me he fijado en el resto de funciones, pero si haces cosas similares, es posible que también te haya sucedido.

De hecho, si en lugar de hacer "Compile" haces "Build" el compilador te generará un Warning diciéndote que el valor asignado a obtenerCuenta no se utiliza nunca. Es por esto, porque al final es sobreescrito por nil.

Otra cosa, por convenio, todos los objetos, clases, etc en Delphi empiezan con T. Por tanto tu clase deberías renombrarla a TCuenta (sólo es por convenio, no es obligatorio, pero así podrás diferenciar clases de interfaces que empiezan por I y de punteros a clases que empiezan por P).

Espero haberte ayudado,
Un saludo,
LoPiTaL
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Crear Objetos en tiempo de ejecucion mmtaffarel OOP 8 14-01-2024 17:55:25
Crear objetos en tiempo de corrida Cheswar Varios 4 05-09-2007 09:41:11
Problema al momento de crear objetos DANY OOP 5 28-11-2005 10:28:05
Quiero crear objetos en tiempo de ejecución con IntraWeb en Delphi 7 atirado OOP 3 11-03-2004 23:06:31
crear objetos Javier PLatas OOP 6 10-06-2003 13:55:31


La franja horaria es GMT +2. Ahora son las 22:45:19.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi