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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-01-2004
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.618
Poder: 32
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
¡Buen día a todos!


Cita:
Empezado por marto
...al ejecutarse el destructor, Items vale nil, de manera que se produce una excepción
Tengo un par de dudas: ¿cómo determinas que Items realmente tiene un valor de Nil, y cuál es exactamente la excepción que se produce?

Quizás la propiedad Items es válida, pero no así uno de sus objetos Items.Objects [ I ]. Esto podría deberse a una ejecución previa del método Clear, o a la destrucción previa de otro objeto TNxAuxCombo que comparta la misma lista de objetos. Considera que la sentencia
Código:
Items.Objects [ I ].Free;
destruye el objeto Items.Objects [ I ], pero no hace que dicha expresión se convierta en Nil (el puntero al objeto sigue siendo el mismo después de llamar a Free). No se si por ello habrás agregado un bloque de protección Try..Except:
Código:
try Items.Objects[i].Free; except end;
Estaré al tanto de este caso.

Una última cosa: ¿Serías tan amable de reducir las muestras de código a máximo 60 columnas por línea, para que el mensaje no se ensanche tanto?. Muchas gracias.

Al González .
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas.

Última edición por Al González fecha: 23-01-2004 a las 19:42:40. Razón: aclarar mensaje
Responder Con Cita
  #2  
Antiguo 23-01-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 24
marto Va por buen camino
Cita:
Empezado por Al González
¿cómo determinas que Items realmente tiene un valor de Nil, y cuál es exactamente la excepción que se produce?
Determino que vale nil haciendo un debug.... vale nil.
La excepcion es la que da siempre que intentas acceder a una propiedad de una referencia a nil.... Acces Violation

Cita:
Empezado por Al González
Quizás la propiedad Items es válida, pero no así uno de sus objetos Items.Objects [ I ].
Items apunta a nil, como te digo arriba, y nada ha destruido ninguno de los objetos. Lo unico que hago es crearlos, cargarlos, y destruir el form.

Cita:
Empezado por Al González
Esto podría deberse a una ejecución previa del método Clear, o a la destrucción previa de otro objeto TNxAuxCombo que comparta la misma lista de objetos.
Correcto. De hecho, he de reconocer que, que sea el combo quien se encarga de destruir los objetos, no es demasiado seguro. Lo que sucede es que es un componente "para mi" y que su única misión es evitarme repetir código

Cita:
Empezado por Al González
No se si por ello habrás agregado un bloque de protección Try..Except:
No, el bloque lo añadí por probar cosas cuando ya no se me ocurría nada pero no tiene ningún sentido

Cita:
Empezado por Al González
¿Serías tan amable de reducir las muestras de código a máximo 60 columnas por línea, para que el mensaje no se ensanche tanto?.
Perdón, perdón, pero es que a mi resolución se ve de una tirada

Al González .[/quote]
__________________
E pur si muove
Responder Con Cita
Respuesta


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


La franja horaria es GMT +2. Ahora son las 13:42:51.


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