Error de TOLEAUTO

Error de TOLEAUTO

Postby Andrés González » Mon Aug 25, 2008 12:52 pm

Estoy compilando un ejemplo sobre openoffice que hay por el foro y cuanto intento salir para finalizar el programa me lanza el siguiente mensaje:

Destructors disabled! Destructor of class "TOLEAUTO' can't be executed.

Image

Esto ocurre cuando salgo del programa con oWnd:End(), hasta que no salgo puedo ejecutar tantas veces quiero el openoffice.
Solo ocurre si ejecuto previamente el openoffice mediante toleauto sino me sale correctamente, alguna idea.
Last edited by Andrés González on Wed Aug 27, 2008 10:29 pm, edited 1 time in total.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby sysctrl2 » Mon Aug 25, 2008 1:22 pm

oExcel:Quit()
Cesar Cortes Cruz
SysCtrl Software
Mexico

' Sin +- FWH es mejor "
User avatar
sysctrl2
 
Posts: 1027
Joined: Mon Feb 05, 2007 7:15 pm

Postby Andrés González » Wed Aug 27, 2008 10:14 am

Bueno después de hacer el tonto un par de días y con la ayuda de Biel me dado cuenta que tOleAuto no tiene ningún comando para destruir de forma automática los objeto como pone el mensaje, resulta que ahora para destruir los objetos basta con asignarle a nil.

Code: Select all  Expand view  RUN
::oBject:=Nil


Se destruyen todos los objetos creados y ese mensaje ya no vuelve a salir. Mira tu por donde!.
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby Andrés González » Sat Aug 30, 2008 7:34 am

Bueno, este hilo se ha documentado en el foro ingles ya que al parecer los objetos creados con TOLEAUTO (CREATEOBJECT), deberían destruirse por si solos, postura defendida por Enrico con razon, pese a ello y a que continuamente me salia el error expuesto, nos hemos dado cuenta que no ocurría así cuando se trataba de un objeto definido en una CLASSDATA. Enrico sometió el problema al foro de xHarbour. En la actualidad eso ya esta solucionado para ello hemos de actualizar a la ultima versión de xHarbour y compilar de nuevo. La cuestión es si es conveniente vaciar los objetos:=nil y asi liberar memoria, que supongo que sí ya que estos objetos se destruyen de manera automática solamente cuando destruimos el proceso ventana oWnd:End() con lo cual permanecen en memoria hasta que sales del programa.

http://forums.fivetechsoft.com/viewtopi ... 2727#62727
Saludos

Andrés González desde Mallorca
User avatar
Andrés González
 
Posts: 629
Joined: Thu Jan 19, 2006 10:45 am
Location: Mallorca

Postby thefull » Sat Aug 30, 2008 8:05 am

Andres, por mi experiencia con SOAP, y que cada 1 minuto, 2 timers corriendo, me crean 2 objetos con CreateObject(), te diré, con xHarbour, que como no les asignes a NIL, ya puedes apagar la máquina, porque en menos que canta un gallo, es decir a la mañana siguiente, jejeje, tendrás el servidor caido por falta de memoria.

( Si, teoricamente Windows DEBERIA hacer un swap de memoria virtual al disco y todo lo que quieras, pero... la realidad demuestra que se cae )

Asi, mi consejo es asignarle a NIL, y si es posible, llamar al recolector de basura.
Saludos
Rafa Carmona ( rafa.thefullARROBAgmail.com___quitalineas__)
User avatar
thefull
 
Posts: 731
Joined: Fri Oct 07, 2005 7:42 am
Location: Barcelona

Postby Antonio Linares » Sat Aug 30, 2008 8:09 am

Rafa,

La experiencia es la madre de la ciencia ;-)

Como se nota que te lo estás currando bien currado :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42161
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Biel EA6DD » Sat Aug 30, 2008 7:12 pm

Yo creo que es una buena práctica el ir destruyendo los objetos que vamos creando, ya sea usando su propio destructor si lo tiene, o via :=nil(o ambas dos en el caso de tOleauto, 1º End(si existe) del objeto contenido, y luego :=nil al contenedor ).
Saludos desde Mallorca
Biel Maimó
http://bielsys.blogspot.com/
User avatar
Biel EA6DD
 
Posts: 682
Joined: Tue Feb 14, 2006 9:48 am
Location: Mallorca


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 59 guests