Comunidad Gambas-es

Versión completa: Activar perfilado me ha bloqueado Gambas
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
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]

GAMBAS
  1.  
  2. Public Sub Form_Open()
  3.  
  4.  
  5.   sdir = RDir(User.Home)
  6.   GridView1.Rows.Count = sdir.Count
  7.   GridView1.Columns.count = 1
  8.  
  9.   For n = 0 To sdir.Max
  10.     GridView1[n, 0].Text = sdir[n]
  11.   Next
  12.  
  13.  
  14. Public Sub Button1_Click()
  15.  
  16.   mirasdir
  17.  
  18.   miragridview
  19.  
  20.  
  21. Public Sub mirasdir()
  22.  
  23.   Dim texto As String
  24.  
  25.   For n = 0 To sdir.Max
  26.     texto = sdir[n]
  27.   Next
  28.  
  29.  
  30. Public Sub miragridview()
  31.  
  32.   Dim texto As String
  33.  
  34.   For n = 0 To GridView1.Rows.count - 1
  35.     texto = GridView1[n, 0].Text
  36.   Next
  37.  
  38.   Print "Fin!"
  39.  



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
Parece un fallo del IDE

Saludos
Esto parece que lo ha solucionado en la máquina que estoy usando, Intel.

Bash
  1.  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.

Bash
  1. 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.
Ni flores. Yo siempre uso qt5... y arranco gambas con un archivo .sh

Bash
  1. #!/bin/sh
  2. #Si no existe el archivo de seguridad del día, lo creamos
  3. copia_diaria="/home/jorge/Datos/Gambas_seguridad/`date +%Y-%m-%d`.tar.gz"
  4. if [ ! -f $copia_diaria ]
  5. then
  6.     #Creamos el comprimido de copia de seguridad
  7.     tar -czvf $copia_diaria /home/jorge/gambas >/home/jorge/.local/bin/gambas_copias.log
  8. fi
  9. env GB_GUI=gb.qt5 gambas3
  10. gambas3
  11. 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
(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.