Mensajes: 1,260
Temas: 183
Gracias Recibidas: 269 en 207 posts
Gracias Dadas: 200
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: 135
Temas: 2
Gracias Recibidas: 93 en 65 posts
Gracias Dadas: 7
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,260
Temas: 183
Gracias Recibidas: 269 en 207 posts
Gracias Dadas: 200
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,152
Temas: 412
Gracias Recibidas: 288 en 209 posts
Gracias Dadas: 184
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
"El buen perfume en frasco pequeño se vende"