![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
mmm me puse a cambiar los...
frmBalance := nil por FreeandNil(frmBalance) y me sale el siguiente mensaje de error cuando cierro un formulario Invalid Pointer operation what da faq????
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#2
|
||||
|
||||
|
la forma como creo los formularios es asi (dentro de un formulario Main)
cuando coloco freeandnil(frmbalance) en el destroy o en el close....me sale el error mencionado pero si coloco esto en el destroy no me aparece mensaje
me libera ? si? no? antes de llamar al formulario balance coloque esto y siempre es nil me olvidaba coloco action := caFree; en el close esta bien asi?
__________________
Dulce Regalo que Satanas manda para mi..... Última edición por oscarac fecha: 06-04-2011 a las 18:25:06. |
|
#3
|
||||
|
||||
|
No, no puedes hacerlo así, primero hay que liberar la memoria y luego asignarle nil a la misma.
Por eso el orden correcto es x.free; x:=nil; o más cómodo: freeandnil(x); Si lo haces al revés, asignas nil, entonces cuando llamas a free no hace nada porque está a nil. Edito: he contestado lo de antes sin haber visto tu último mensaje ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#4
|
||||
|
||||
|
Concluyendo....
primero free y despues nil y nunca nu freeandnil dentro del mismo form
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#5
|
||||
|
||||
|
Cita:
![]() El boot ![]()
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
|
#6
|
||||
|
||||
|
mmmm
deberias ver a los acrobatas que hay por aca... desafian las reglas de la fisica ![]() ![]() ![]()
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#7
|
|||
|
|||
|
Hola...
oscarac, no es recomendable usar la variable que declara Delphi cuando creas un formulario nuevo:
dentro de los métodos o manejadores de eventos del mismo. Estó es, si haces algo como:
Te podría traer problemas posteriores. Si quieres garantizar que un formulario se destruye al cerrarlo una de las formas de lograrlo es el evento OnClose:
Saludos... |
|
#8
|
||||
|
||||
|
sigo con el tema...
coloco frmbalance.free frmbalance.nil y me sale stack overflow ![]() ![]() ![]()
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#9
|
||||
|
||||
|
Cita:
![]() Saludos... ![]()
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7 |
|
#10
|
||||
|
||||
|
Cita:
|
|
#11
|
||||
|
||||
|
Habría que ver el contexto. Por ejemplo, si llamas FreeAndNil desde el mismo formulario frmBalance, podría suceder el error que pones. En ese caso tendrías que usar Release en lugar de Free.
// Saludos |
|
#12
|
||||
|
||||
|
me atrevo a preguntar
cual es la diferencia entre frmBalance := TfrmBalance.create(nil) ; y frmBalance := TfrmBalance.create(self);
__________________
Dulce Regalo que Satanas manda para mi..... |
|
#13
|
||||
|
||||
|
Cita:
entonces lo correcto seria frmBalance.nil; frmBalance.free; ???
__________________
Dulce Regalo que Satanas manda para mi..... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Forms: FreeAndNil ó Release y la validación Assigned? | jbautista | Varios | 13 | 09-02-2010 17:33:03 |
| Assigned y Free | gluglu | Varios | 4 | 14-05-2007 21:03:37 |
| Problemas FreeAndNil | OscarG | OOP | 4 | 09-11-2005 12:48:46 |
| Free Pascal 2.0 | marcoszorrilla | Noticias | 6 | 19-05-2005 12:04:51 |
| Componente free... | Mauro® | Varios | 10 | 12-06-2004 13:15:24 |
|