Duda Con ShowModal


Ir a la página Anterior  1, 2

Objetivo: Re: Duda Con ShowModal
Hola,

Efectivamente es un bug de la versión que usas (casi me vuelve loco ese bug). Actualiza y listo.

Saludos

Objetivo: Re: Duda Con ShowModal
Uh, muchísimas gracias!!! No sabes la buena noticia que me das!!!
No veo la hora de llegar y probar...

Perfil MP  
Objetivo: Re: Duda Con ShowModal
Lamentablemente no hubo caso. Luego de actualizar a la 2.23 el problema persiste.
Calculo que tendré que acostumbrarme a poner como disable a la ventana madre antes de llamar a la secundaria y restaurarla al volver, al menos hasta que encuentre la solución.
Otra que me queda es, o usar gb.qt y retocar ya que me queda diferente la estética y los tamaños de los elementos o probar de instalar gambas 3, ya que si esta por salir y estoy aprendiendo ¿porqué no hacerlo con la versión actual? Calculo que la base es la misma, ¿no?
De todas formas muchas gracias por la ayuda.

Marcelo

Perfil MP  
Objetivo: Re: Duda Con ShowModal
Espera, espera! Supongo que para instalar gambas 2.23 habrás desinstalado antes el viejo, Hay algunos problemas que surgen debido a la diferente ubicación de gambas de los repositorios y gambas compilado a mano.

gambas instalado de los repos se instala en /usr/bin, /usr/share y en /usr/lib, mientras que si compilas a mano se instala en /usr/local/bin, /usr/local/share y /usr/local/lib.

Tendrás que borrar cualquier resto de gambas 2 que haya quedado en los primeros, porque puede ser que te esté cogiendo aún librerías antiguas con el bug. Porque de hecho, nadie más tiene ese problema.

Saludos

Perfil MP  
Objetivo: Re: Duda Con ShowModal
Hola, Marcelo.
Supongo que lo que pretendes es que aunque el usuario quiera abandonar la ventana, no pueda. Yo en GB3 (y he mirado en GB2 pero no lo he probado) pongo la propiedad Stacking = Above. Tiene 3 posibilidades: Normal, Above y Bellow.
Si está Above siempre está encima y no puedes envíar al fondo, ni responde a los eventos de cerrar, no obstante permite arrastrar la ventana, maximizar, minimizar, restaurar y el menú de control que sale de la esq. izquierda.

Creo que eso es bastante acercado a lo que necesitas.

Un saludo

Perfil MP  
Objetivo: Re: Duda Con ShowModal
No tiene nada que ver con la versión de gambas. Ni es un bug. Tienes un error de concepto. Para poder mostar una instancia de Form1 primero debes crearla. Puedes hacer showmodal con una instancia pero no con una clase como es Form1.
Así el código debería ser:
' gambas class file


PUBLIC SUB Button1_Click()

dim miform as new Fom1 'aquí es donde se crea la instancia

miform.ShowModal()

END

PUBLIC SUB Button2_Click()

Message.Error("Como puede ser esto?")

END


Perfil MP  
Objetivo: Re: Duda Con ShowModal
Bueno, esto va a volverme realmente loco!! jajaja
Tenía todo solucionado, instalé Gambas3 y lo vengo probando, realmente me gustan las diferencias que encuentro hasta ahora con el 2.
El tema de los ShowModal venía bien, los armara como los armara, de todas las formas que están en el post funcionaban bien pero de repente... zaz!!!
A ver si puedo explicarme, Tengo un PANEL con unos botones y un gridview.
AL evento Gridview_DblClick le asigno la apertura de FORM1 en forma modal, todo OK, se abre y no me deja operar el form anterior.
Si quiero que al apretar Button1 se abra un Form2 de la misma forma modal (copio y pego código) este se abre pero puedo hacer foco en la ventana madre y seleccionar sus opciones con resultados impredecibles.
Lo más loco, para mi, es que probé, para descartar errores del FORM2, directamente llamarlo desde el evento DblClick del Grid y funciona perfectamente!!!!
Se me quemaron los papeles!!!
O sea, so lo llamo desde GRIDVIEW_DBLCLICK anda bien y si lo llamo desde Button1_Click no...
Que puede estar pasando? Hay alguna razón por la cual los botones dentro de un Panel no puedan crear ventanas en forma modal? el Gridview también esta dentro del mismo panel.
Voy a ver si puedo ir eliminando código IMPORTANTE (lo que realmente hace lo que necesito) del programa para llegar a reducirlo a la mínima expresión y ver si lo puedo poner acá para que lo vean...

Gracias...

Marceo

Perfil MP  
Objetivo: Re: Duda Con ShowModal
Bueno, a ver si pueden descubrir que estoy haciendo mal....
En algo seguro me equivoco ya que puedo reproducir el siguiente error:

Yo accedo al PANEL_Consultas mediante BTN_Consultas y ahí aparece el Gridview_ABM y los botones en cuestión.
Si yo hago doble click sobre el gridview, el form se abre modal correctamente y al volver al principal los dos botones andan bien (abren ventanas modales).
Pero si yo primero accedo a cualquiera de los dos botones, el form se abre permitiéndome cambiar de ventana (mal), si cierro el Form y lo vuelvo a abrir esto se corrige y todo lo que abra en adelante lo hace en forma modal... No se si se entiende.
Para mi en que estoy regresando a alguna parte del formulario principal a donde no debo o perdiéndome de ejecutar algo necesario y no me doy cuenta que es...

Desde ya muchas gracias y perdonen por tanta insistencia!!

Marcelo.

' gambas class file

Public Sub _new()

End

Private $hres As Result

Public Sub Form_Open()
btn_Principal.Enabled = False
Cabecera.Text = " Pantalla principal"
Panel_Principal.Show()
Panel_Consultas.Hide()
' Conecta conla base de datos
If ConectarBase() Then Return
' Fomatea la Gridview_ABM
With GridView_ABM
.header = 3
.columns.count = 5
.Columns[0].title = "Autor"
.Columns[1].title = "Título"
.Columns[2].title = "Proveedor"
.Columns[3].title = "Stock"
.Columns[4].title = ""
.Columns[0].width = 110
.Columns[1].width = 400
.Columns[2].width = 200
.Columns[3].width = 20
.Columns[4].width = 0
End With

GridView_ABM.Clear()
$hres = Conexion.Exec("select * from Datos order by Autor")
GridView_ABM.Rows.Count = $hres.Count

End

Public Sub Form_Close()

CerrarConexion()

End



' -------------------------
' Botón Pantalla Principal
' -------------------------
Public Sub btn_Principal_Click()

Cabecera.Text = " Pantalla principal"
Panel_Principal.Show()
Panel_Consultas.Hide()
btn_Principal.Enabled = False
btn_Consultas.Enabled = True
btn_2.Enabled = True
btn_3.Enabled = True
btn_4.Enabled = True
btn_5.Enabled = True
btn_6.Enabled = True
btn_7.Enabled = True
btn_Herramientas.Enabled = True

End
' ----------------------
' Botón A/B/M/Consultas
' ----------------------

Public Sub btn_Consultas_Click()
Cabecera.Text = " Altas / Bajas / Modificaciones / Consultas"
Panel_Principal.Hide()
Panel_Consultas.Show()
BusquedaRapida.Enabled = False
BtBox_CodBarra.Enabled = False
btn_Principal.Enabled = True
btn_Consultas.Enabled = False
btn_2.Enabled = True
btn_3.Enabled = True
btn_4.Enabled = True
btn_5.Enabled = True
btn_6.Enabled = True
btn_7.Enabled = True
btn_8.Enabled = True

End

' ------------------------------
' Conexión con la base de datos
' ------------------------------
Private Conexion As Connection
Private Function ConectarBase() As Boolean
If Conexion <> Null Then Return False
Conexion = New Connection
Conexion.Host = "/home/libreria/Gambas3/LF2012"
Conexion.Name = "LF"
Conexion.Type = "sqlite3"
Try Conexion.OPEN()
If Error Then
Conexion = Null
Message.Error("Error al conectar con la base de datos")
Return True
Endif
Return False
End
' ------------------------------
' ------------------------
' Cerrar la base de datos
' ------------------------'
Private Sub CerrarConexion()

If Conexion = Null Then Return
Conexion.Close()
Conexion = Null
End
' ------------------------
' --------------------------------------------------------
' Este es el manejador del evento Data de la Gridview_ABM
' --------------------------------------------------------
Public Sub GridView_ABM_Data(Row As Integer, Column As Integer)
$hres.MoveTo(Row)

' Relleno de la fila actual (suponemos que tenemos 5 columnas)
If Column <> 0 Then Return
GridView_ABM[Row, 0].text = $hres["Autor"]
GridView_ABM[Row, 1].text = $hres["Titulo"]
GridView_ABM[Row, 2].text = $hres["Proveedor"]
GridView_ABM[Row, 3].text = $hres["Stock"]
GridView_ABM[Row, 4].text = $hres["Identificador"]
End
' --------------------------------------------------------


Public Sub GridView_ABM_DblClick()


Dim Consulta As New Form_VerArticulo
Consulta.ShowModal()

End

Public Sub btn_Agregar_Click()

Dim miform As New Form1
miform.ShowModal()

End

Public Sub btn_Buscar_Click()

Dim F As New Form1
F.showmodal()

End


En ambos casos, tanto Form_VerArticulo como Form1 solo tienen el siguiente código dentro ya que probé con doy y siempre da lo mismo:

' gambas class file
Public Sub Form_Open()


End

última edición por Marcelo el Miercoles, 21 Septiembre 2011, 22:23; editado 1 vez
Perfil MP  
Objetivo: Re: Duda Con ShowModal
Bueno, he decidido dejar de sufrir y hacer directamente el proyecto con gb.qt, de esta manera las ventanas modales funcionan como tal...
No se si el problema será de gambas o de mi configuración pero usando gb.gui lo hacen como quieren y cuando quieren...
Gracias de todas maneras por la ayuda!!!

Marcelo

Perfil MP  
Ir a la página Anterior  1, 2

Página 2 de 2


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4682s (PHP: -48% SQL: 148%)
Consultas SQL: 45 - Debug off - GZIP Activado