Buenas.
Tengo un proyecto donde uso el control de usuario ucBtnSkin obtenido de
http://www.recursosvisualbasic.com.ar/htm/ocx-componentes-activex-dll/214-boton-checkbox-optionbutton-con-skin.htmTodo fue muy bien.
Sucede que he querido crear algo similar a los tabs de un navegador pero con Forms. Ya que requiero abrir el mismo formulario varias veces (para atender diversas peticiones y quiero evitar abrir la aplicación varias veces), esto también lo tocamos en otro hilo.
El asunto lo logre usando un form donde en ese form tengo un PictureBox y en ese PictureBox cargo el formulario, de tal manera que cargo dinamicamente pictures y en ese nuevo picture cargo el formulario en cuestión.
Pues bien, este formulario tiene diversos controles y también usa el ucBtnSkin.
El asunto es que cuando descargo los formularios "hijos" y luego cierro la aplicación el VB6 se cae. Si genero la aplicación y hago el mismo proceso de cerrar la aplicación la aplicación se queda colgada y solo queda matarla.
He debuggeado y he visto que cuando hago el unload se llama al ucBtnSkin y al terminar el debuggeo no cae pero tampoco cierra, esto solo pasa si intento descargar el formulario incrustado en los pictures mas no en los formularios cargados normalmente, aun sigo estudiando ese código del ucBtnSkin para ver como lograr que al descargar el form no entre alli.
O quizá estoy administrando mal el cerrar el formulario, uo hago el nothing a form pero quizá me falta algo mas, todo me hace sospechar de que creo no estoy cerrando bien el UC.
Agradecería me pueden dar una orientación (porfa que no sea convertir el UC en ocx, al menos quiero insistir en resolverlo y si ya no se logra ni modo lo encapsulo en un OCX, pero quier evitar esto)
Miren, cuando le doy a cerrar al form mediante un botón que tiene este código
Set frmPedidoHacer = Nothing
Unload Me
y cuando va a ejecutar la linea Unload Me se mete a:
If (Ambient.UserMode And IsWindowVisible(UserControl.hwnd) > 0) Or _
(Ambient.UserMode = False) Then
If mFlagReadInitProp = False Then
Call mUpdateBtn(Normal)
End If
End If
OJO: El boton que presiono en un simple commandbutton, para salir quisiera evitar que se invoque al UC y creo que alli lo tendría resuelto.
P.D.: Cuando entro al código anterior y detengo con el stop el VB6 se cae ¿esto es normal?
P.d.2: Todas estas atrocidades ocurren solo en los formularios metidos en el picture, en otros formularios que tienen el ucBtnSkin y hago el unload no se mete al codigo del UC.
Gracias.