Mensajes: 1,416
Temas: 202
Gracias Recibidas: 350 en 257 posts
Gracias Dadas: 258
Registro en: Jul 2020
23-09-2022, 20:24
(Última modificación: 24-09-2022, 22:09 por
tincho.)
Hola.
¿Alguien podria decir como saber en tiempo de ejecución que componente usa un programa?
Busco una forma similar a como se hace para saber si el tema de escritorio es dark o no.
Ej:
Nota: Existen algunas llamadas (no se si es el temino correcto) a OpenGL que no funcionan en GTK3 mientras que en QT5 si lo hacen. Entonces deseo eludir lo que no funciona cuando el programa corre.
Ademas de la solucion que propuso Charly, agrego dos maneras mas de abordar el tema que recibi por la lista internacional de gambas:
GAMBAS
Print "Benoit dice que el toolkit es:" & "gb.gtk3"
Print "Bruce dice que el toolkit es:" & Env
["GB_GUI"]
Gracias.
1 Saludo.
Mensajes: 158
Temas: 2
Gracias Recibidas: 122 en 78 posts
Gracias Dadas: 8
Registro en: Jul 2020
Espero que este código haga lo que quieres.
GAMBAS
' Gambas class file
Dim sHeader
As String[] = ["Component.Name",
"Component.Version",
"Component.Library"]
sData.Add(MyComponent.Name & "," & MyComponent.Version & "," & sLib)
.Height = 400
.Width = 450
.Padding = 5
.Arrangement = Arrange.Vertical
.Center
.Clear
.Rows.Count = sData.Count
.Columns.Count = 3
Gridview1.Columns[iCol].Title = sHeader[iCol]
Gridview1
[iRow, iCol
].
Text = Split(sData
[iRow
])[iCol
]
GridView1.Columns.Width = -1
Los siguientes 2 usuarios dicen gracias a cogier por este post:2 usuarios dicen Gracias! a cogier por este post
• Shell, tincho
Mensajes: 1,416
Temas: 202
Gracias Recibidas: 350 en 257 posts
Gracias Dadas: 258
Registro en: Jul 2020
(24-09-2022, 17:54)cogier escribió: Espero que este código haga lo que quieres.
Si, muy didactico, le agregue una funcion y un panel con un boton para mostrar que toolkit usa el programa.
GAMBAS
' Gambas class file
Dim sHeader
As String[] = ["Component.Name",
"Component.Version",
"Component.Library"]
sData.Add(MyComponent.Name & "," & MyComponent.Version & "," & sLib)
.h = 42
.w = 120
.Arrangement = Arrange.Horizontal
.h = 42
.w = 60
.Text = "GTK"
.Text = "QT"
.Height = 400
.Width = 450
.Padding = 5
.Arrangement = Arrange.Vertical
.Center
.Clear
.Rows.Count = sData.Count
.Columns.Count = 3
Gridview1.Columns[iCol].Title = sHeader[iCol]
Gridview1
[iRow, iCol
].
Text = Split(sData
[iRow
])[iCol
]
GridView1.Columns.Width = -1
If MyComponent.
Name = "gb.gtk3" Then
1 Saludo.
Los siguientes 2 usuarios dicen gracias a tincho por este post:2 usuarios dicen Gracias! a tincho por este post
• Shell, tercoide
Mensajes: 1,390
Temas: 487
Gracias Recibidas: 355 en 256 posts
Gracias Dadas: 245
Registro en: Jul 2020
Buenas!.
Tengo un proyecto que está hecho para QT5. Los componentes que están en uso o cargados son: (por defecto).
gb.form
gb.gui.qt
gb.image
He seleccionado que el gui que se inicie con QT5 en cambio aparece gb.gui.qt (eso es raro) y también he seleccionado el componente qt5 manualmente
para ver la diferencia. La respuesta en la lista del GridView en la columna de Component.Library
siempre es Falso.Que no son librerías.
Incluso he probado con el componente gb.cairo que dice que es una "librería gráfica", pero luego me dice el ejemplo que no es una librería.
Saludos
"Pero no toques, por qué tocas? - Amador"