Shell   13-09-2022, 11:46
#1
Buenas!.

Siguiendo un videotutorial de Shordi. Extendiendo la clase GridView. Parte dos.
Activo el perfilado y al salir de la aplicación, se queda el cursor girando y no sale de ahí.



Este es el código del formulario Compara. El formulario consta de un GridView y un botón.
En realidad este código es solo para demostrar como funciona el perfilado y lo lento que es un proceso más que otro,
el que se realiza dentro del evento Click del botón.....y error casual ahora...estuvo funcionando bien. ( Estamos hablando sin ejecución
del proyecto, ver el código del botón y..)

[Imagen: es2QLcY.png]

Código:
Private sdir As String[]

Public Sub Form_Open()
 
  Dim n As Integer
 
  sdir = RDir(User.Home)
  GridView1.Rows.Count = sdir.Count
  GridView1.Columns.count = 1
 
  For n = 0 To sdir.Max
    GridView1[n, 0].Text = sdir[n]
  Next
 
End

Public Sub Button1_Click()
 
  mirasdir
 
  miragridview
 
End

Public Sub mirasdir()
 
  Dim n As Integer
  Dim texto As String
 
  For n = 0 To sdir.Max
    texto = sdir[n]
  Next
 
End

Public Sub miragridview()
 
  Dim n As Integer
  Dim texto As String
 
  For n = 0 To GridView1.Rows.count - 1
    texto = GridView1[n, 0].Text
  Next
 
  Print "Fin!"
 
End

Añadí la instrucción que avisa que se ha acabado el proceso. "Fin!". Realmente ese proceso es bien rápido.

El tamaño que marca durante la ejecución en la consola es de 397MiB asignado.
He probado tanto en un Ryzen 5 como en un Intel I5 8400. No es algo que ocurra con un procesador, lo he confirmado.
El primero en una LM 20.3, el segundo en una LM 20.2. Versión de Gambas 3.17.3 estable.

Normalmente si no ejecuto el código del botón, no hay problema de cuelgue, pero si lo ejecuto suele ser el 100% de cuelgue asegurado
con el perfilado activado. No se cuelga sin tener activo el perfilado.

He encontrado este post en la lista internacional, curiosamente es sobre estas fechas de Septiembre.

The profile failure (blocks gambas3)

No sé si es la versión de Gambas, si son bugs de la librería QT.  Ni idea. Lógicamente los errores se ven probando cosas.
Pero mosquea. Sobre todo cuando intentas aprender algo o hacer algo, entonces es cuando surgen los problemas.
Probablemente haces otra cosa con gambas que no tiene tanta importancia y no ves problemas. P. Murphy.

Saludos
Última modificación: 13-09-2022, 12:11 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   13-09-2022, 12:24
#2
Parece un fallo del IDE

Saludos
Última modificación: 13-09-2022, 12:30 por Shordi.

No podemos regresar
Shell   13-09-2022, 12:35
#3
Esto parece que lo ha solucionado en la máquina que estoy usando, Intel.

Código:
 GB_GUI=gb.qt5 gambas3

Se muestra en la terminal lo siguiente:
 
Cita: 
qt5ct: using qt5ct plugin
qt5ct: D-Bus global menu: no

Eso cambia como se muestra el IDE de Gambas, pasa de oscuro a claro.
Ya que por defecto tengo asignado "cleanlooks" en ajustes de QT5 en estilo.

En este equipo con Linux Mint 20.2, intento averiguar que versión de Qt estoy usando.

Código:
qmake -v

Pero lanza error, le falta algo. En este equipo tengo con Gambas la posibilidad de usar las dos versiones, en LM 20.3, solo la 5.
 
Cita:qmake: could not exec '/usr/lib/qt5/bin/qmake': No such file or directory

En Synaptic muestra esto:

[Imagen: KaMy4jS.png]

Ninguno, que raro. Instalo las de la versión 5.

Ahora qmake -v dice:
 
Cita: 
QMake version 3.1
Using Qt version 5.12.8 in /usr/lib/x86_64-linux-gnu

Ok, voy a reiniciar y ver que hace sin ejecutar el comando del principio para la solución.

Saludos

Funciona solo si uso gb.qt5, si uso gb.gui.qt se cuelga.
Gambas parece que no sabe que versión tengo de QT. Tengo que decirselo manualmente con el comando de arriba.

Lo suyo es que usase gb.gui.qt, ya que habrá usuarios que usen qt4 y otros qt5, según su distro.

(13-09-2022, 12:24)Shordi escribió: Parece un fallo del IDE

No siempre es así, ya ves que a mi me faltaba algo, pero aún así no está del todo solucionado.
Última modificación: 13-09-2022, 12:47 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   13-09-2022, 12:59
#4
Ni flores. Yo siempre uso qt5... y arranco gambas con un archivo .sh

Código:
#!/bin/sh
#Si no existe el archivo de seguridad del día, lo creamos
copia_diaria="/home/jorge/Datos/Gambas_seguridad/`date +%Y-%m-%d`.tar.gz"
if [ ! -f $copia_diaria ]
then
    #Creamos el comprimido de copia de seguridad
    tar -czvf $copia_diaria /home/jorge/gambas >/home/jorge/.local/bin/gambas_copias.log
fi
env GB_GUI=gb.qt5 gambas3
gambas3
exit

Un acceso directo en el panel del escritorio y la primera ejecución del día genera una copia de seguridad. Luego se arranca con la versión qt5 del ide

Saludos
Última modificación: 13-09-2022, 13:00 por Shordi.

No podemos regresar
Shell   13-09-2022, 13:18
#5
(13-09-2022, 12:59)Shordi escribió: Un acceso directo en el panel del escritorio y la primera ejecución del día genera una copia de seguridad. Luego se arranca con la versión qt5 del ide

Quizás sea un palizón para el disco, ¿ no ?. Si tienes muchas aplicaciones y ejemplos creados.
Puede que sea mejor con copias incrementales. Eso habría que estudiarlo. Aunque dicho así, parece más laborioso
que como tu lo haces.

Otra posibilidad es añadir desde el menú del sistema un enlace en el panel y este muestra al hacer clic con el botón derecho del ratón esto:

[Imagen: eBv3UIF.png]

Nunca he tenido esta necesidad. No sabía que fuera necesario usar la variable de entorno.
Quedamos a la espera de que reparen el problema, si es posible.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.