Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Assigned y Free

Hola compañeros !

Por qué después de hacer un Free de un form, la pregunta de Assigned vuelve a dar true ?

Código Delphi [-]
MiForm.Free;
...
if Assigned(MiForm) then
  'Pasa por aquí y es verdadero' !

Debo utilizar alguna otra pregunta diferente del Assigned ?

Gracias por vuestra ayuda
__________________
Piensa siempre en positivo !
Responder Con Cita
  #2  
Antiguo 14-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Depende... pero a veces puede ser útil usar "FreeAndNil" en lugar de "Free". Creo que por ahí pueden ir los tiros aquí. La variable "MiForm", en este caso, apunta a "algo" que tal vez es sólo basura en la memoria, desde luego no será al objeto... que ha sido liberado. Pero si a la variable "MiForm" le asignas el valor "nil",... entonces "Assigned" no debería retornar "true"... si no estoy equivocado.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 14-05-2007
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Porque Assigned únicamente revisa si la variable tiene el valor nil y Free destruye el objeto pero no pone en nil a la variable; lo cual es lógico pues ni siquiera puede saber cuál o cuáles variables hacen referencia a él. En su lugar, puedes usar FreeAndNil(Objeto).

// Saludos
Responder Con Cita
  #4  
Antiguo 14-05-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bueno, sin duda, la respuesta de Román, en dos líneas, parece más razonable y desde luego es más clara que la mía, la cual si me pongo con ella de nuevo tal vez revisaría, luego de leer lo que Román ha dicho. O sea.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 14-05-2007
Avatar de gluglu
[gluglu] gluglu is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Málaga - España
Posts: 1.455
Poder: 21
gluglu Va por buen camino
Muchas gracias a los dos.

Como siempre vuestra ayuda es fabulosa !
__________________
Piensa siempre en positivo !
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
Firewall Free torito Linux 3 15-11-2005 22:09:14
Invalid Pointer Operation con Free y Assigned adlfv OOP 3 07-10-2005 00:17:06
"Transaction not assigned error" T-man Firebird e Interbase 0 15-10-2004 13:16:14
Database not assigned!! cwelx Conexión con bases de datos 1 29-09-2004 22:06:40
Left side cannot be assigned to gbece7mx7 Varios 2 29-10-2003 19:01:24


La franja horaria es GMT +2. Ahora son las 11:39:59.


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