Página 1 de 1

DATA nId. El programa se queda en memoria.

Publicado: Jue Ene 27, 2005 7:37 am
por jasm-arroba-chochurro
Hola,
Me ha ocurrido el siguiente caso:
declare una DATA en un form con el nombre nId y al terminar el programa
se quedaba "pillado" en memoria. Le cambie el nombre a la DATA por
nCodigo y se soluciono el problema. ¿Hay algun tipo de reserva para
declarar nombres de datas y métodos?
Saludos,
Jose A. Suarez

DATA nId. El programa se queda en memoria.

Publicado: Jue Ene 27, 2005 10:10 am
por ignacio
Jose,
la DATA nID es un dato de la clase TControl que se usa internamente.
Uno de las mecanismos básicos de los lenguajes de programación OOP es
precisamente sobrecargar cualquier dato de una clase en un nivel de herencia
superior para variar su ámbito o visibilidad. Es muy típico por ejemplo
heredar de una clase tan sólo para hacer algún dato o método de la misma,
público.
Y me temo que eso es precisamente lo que has hecho, dicho dato es de sólo
lectura en la clase TControl, y al sobrecargarlo lo has cambiado. Si además
has cambiado tu personalmente su valor nID supongo que entonces Xailer ha
sido incapaz de cerrar la ventana.
Este problema no tiene facil solución. Piensa que por ejemplo nadie te
impide crear una nueva data Handle en cualquier clase y utilizarla para lo
que tu quieras, pero seguro que a Xailer no le hace mucha gracia, porque
dicha data se utiliza para guardar el handle de la ventana del API.
Te recomiendo que cuando crees nombres de datas que pudieran ser
conflictivos simplemente pulses Control+F1 cuando el curso esté encima de
esa DATA para ver si Xailer esta utilizandola en esa misma clase. (De
momento no es muy operativo pues las ayudas no están completas).
Un saludo,
--
Ignacio Ortiz
www.xailer.com
"Jose A. Suarez Moreno" <jasm-arroba-chochurro.com> escribió en el mensaje
news:41f88c17$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> Hola,
>
> Me ha ocurrido el siguiente caso:
>
> declare una DATA en un form con el nombre nId y al terminar el programa se
> quedaba "pillado" en memoria. Le cambie el nombre a la DATA por nCodigo y
> se soluciono el problema. ¿Hay algun tipo de reserva para declarar nombres
> de datas y métodos?
>
> Saludos,
>
> Jose A. Suarez