Problemas con una clase. Ayuda!!
Publicado por Sergio (2 intervenciones) el 30/01/2004 18:05:06
Hola a todos!
Tengo un grave problema. Tengo creada una ActiveX DLL con VB6. La función de esta dll es basicamente enviar y recibir archivos de un servidor. Para ello utilizo el Internet Transfer Control, con lo cual tengo que utilizar un formulario para poder utilizarlo, lo que hago es ocultar este para que el usuario no lo veo.
Entonces, la dll tiene una clase de este estilo:
Private Sub Class_Initialize()
Set lfformulario = New frmSync
Call lfformulario.InitForm(Me)
mShutdown = False
End Sub
Private Sub Class_Terminate()
Unload lfformulario
Set lfformulario = Nothing
End Sub
Y en el formulario tengo:
Public Sub InitForm(ByRef cSync As FOSincronizacion)
Set cFOSync = cSync
Load Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Inet.Cancel
End Sub
Dentro del formulario tambien tengo un timer que lanza el proceso cada cierto tiempo automaticamente.
El problema es que cuando destruyo, como una clase normal asignandole 'Nothing', esta no entra dentro de su class_terminate, con lo cual continua existiendo la referencia y esta continua ejecutandose.
Que es lo que pasa??
Sergio
Tengo un grave problema. Tengo creada una ActiveX DLL con VB6. La función de esta dll es basicamente enviar y recibir archivos de un servidor. Para ello utilizo el Internet Transfer Control, con lo cual tengo que utilizar un formulario para poder utilizarlo, lo que hago es ocultar este para que el usuario no lo veo.
Entonces, la dll tiene una clase de este estilo:
Private Sub Class_Initialize()
Set lfformulario = New frmSync
Call lfformulario.InitForm(Me)
mShutdown = False
End Sub
Private Sub Class_Terminate()
Unload lfformulario
Set lfformulario = Nothing
End Sub
Y en el formulario tengo:
Public Sub InitForm(ByRef cSync As FOSincronizacion)
Set cFOSync = cSync
Load Me
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Inet.Cancel
End Sub
Dentro del formulario tambien tengo un timer que lanza el proceso cada cierto tiempo automaticamente.
El problema es que cuando destruyo, como una clase normal asignandole 'Nothing', esta no entra dentro de su class_terminate, con lo cual continua existiendo la referencia y esta continua ejecutandose.
Que es lo que pasa??
Sergio
Valora esta pregunta


0