Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 2
Ir a la página 1, 2  Siguiente
 
Puede Una Instancia De Una Clase Suicidarse?
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Puede Una Instancia De Una Clase Suicidarse? 
 
Supongamos que tengo una clase cualquiera clsPerro , creo una nueva instancia de la misma:

' en alguna parte
Public batuque as New clsPerro("La vida es muy complicada")

batuque.Pensar()
 


y dentro de la clase clsPerro



Public Freud as String

Public Sub _New(pensamiento as String)
     Freud = pensamiento
End

Public Sub Pensar()

      If Freud = "La vida es muy complicada" Then ???????????  <--- Cual seria el codigo para matar la instancia dentro de si misma??
End
 

 




===================
"Los IF son mas rápidos" - autor anónimo
 
última edición por tercoIDE el Lunes, 20 Abril 2020, 16:43; editado 1 vez 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
No habra un kill como existe en procesos?

 
 



 
portaro - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 

 



 
última edición por vuott el Martes, 21 Abril 2020, 01:08; editado 3 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
yo creo que si pero no por si misma sino despertando a otra clase que la asesina, jajaja no se , baje el código y la pregunta a ver que puedo sacar, saludos.
 




===================
Software libre, programación libre, vida libre es la Public function Libertad()as Invendible
Proyectos: VisorRV1960,Taller2015,Tanteador
https://sourceforge.net/u/v3ctor-full/profile/
Blog: http://novatocodegambas.blogspot.com.uy/
 
v3ctor - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
Gracias Vuott
El codigo funciona pero solo si la clase sabe su nombre y donde vive. Pero como es una clase instanciada, no lo sabe.

Voy a apelar a un metodo mas elegante
' clsPerro
Public KillMeSoftly as Boolean = False
Public Freud as String

Public Sub _New(pensamiento as String)
       Freud = pensamiento
End

Public Sub Pensar()

         If Freud = "Las perras me ignoran" then Me.KillMeSoftly = True

End
  



en Main

' en alguna parte
Public batuque as New clsPerro("La vida es muy complicada")


Public Sub Main()

  batuque.Pensar()
  
  If batuque Then Message("Pero todavia estoy vivo")
  
  batuque.Freud = "Las perras me ignoran"
  
  batuque.Pensar()
  
  If batuque.KillMeSoftly Then batuque = Null
  
  If Not batuque Then Message("Me mataron")
  

 




===================
"Los IF son mas rápidos" - autor anónimo
 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
tercoIDE escribió:  
Gracias Vuott
El codigo funciona pero solo si la clase sabe su nombre y donde vive. Pero como es una clase instanciada, no lo sabe.

Sì, estoy totalmente de acuerdo; por eso yo borré aquel código en mi post.  
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
tercoIDE escribió:  
Voy a apelar a un metodo mas elegante

Bueno, pero tambien en este caso el código necesario para la destrucción del Objeto (es decir: .... = Null) está en el Módulo Principal y no en la Clase Secundaria.  
En cambio, me parece que deseas una orden de destrucción dentro de la Clase Secundaria.
 



 
última edición por vuott el Martes, 21 Abril 2020, 19:21; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
vuott escribió:  
tercoIDE escribió:  
Voy a apelar a un metodo mas elegante

Bueno, pero tambien en este caso el código necesario para la destrucción del Objeto (es decir: .... = Null) está en el Módulo Principal y no en la Clase Secundaria.  
En cambio, me parece que deseas una orden de destrucción dentro de la Clase Secundaria.


Si, eso era el objetivo inicial, pero encontre un workaround para resolver el problema.

Tal vez haciendo un Poke &Objeto, 000000 a la direccion del objeto  funcione, pero no estoy seguro si se puede hacer tal cosa de bajo nivel.
 




===================
"Los IF son mas rápidos" - autor anónimo
 
tercoIDE - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
Busqué esta solución, que es, sì, ahora universal, pero no me gusta, no me gusta, no me gusta:  

Modulo principal:
Private cl As New Class1


Public Sub Main()

  cl = cl.Delete(cl)
  
  If Not Object.IsValid(cl) Then Error.Raise("Objeto inválido ! Dirección: &h" & Hex(Object.Address(cl), 8))

End



Clase secundaria "Class1.class":
Public Function Delete(c As Class1) As Class1
  
  c = Null
  
  Return c
  
End


Public Sub _free()
  
End

 



 
última edición por vuott el Martes, 21 Abril 2020, 23:23; editado 1 vez 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Puede Una Instancia De Una Clase Suicidarse? 
 
tercoIDE escribió:  
Tal vez haciendo un Poke &Objeto, 000000 a la direccion del objeto  funcione, pero no estoy seguro si se puede hacer tal cosa de bajo nivel.

De bajo nivel nosotros podemos alterar fácilmente la estructura interna principal de la Clase   , pero causaríamos el crash del programa... es como decir: "Muera Sansón con los Filisteos !".  
 



 
última edición por vuott el Martes, 21 Abril 2020, 23:38; editado 4 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Puede Una Clase Saber Quien La Instancio? ... osunaosuna Controles/Librerías/Componentes 11 Martes, 08 Julio 2014, 08:34 Ver último mensaje
osunaosuna
No hay nuevos mensajes Averiguar Si Un Objeto Es Una Instancia De... Shell General 0 Domingo, 30 Julio 2017, 01:30 Ver último mensaje
Shell
No hay nuevos mensajes No Se Puede Ejecutar Proceso Hijo, No Se P... Shell General 4 Miercoles, 23 Enero 2019, 00:39 Ver último mensaje
Shell
No hay nuevos mensajes ¿ Puede Una Clase Negarse A Construir Un ... Shell General 0 Sabado, 11 Abril 2020, 13:33 Ver último mensaje
Shell
 

Publicar nuevo tema  Responder al tema  Página 1 de 2
Ir a la página 1, 2  Siguiente

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron