Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Activar perfilado me ha bloqueado Gambas
#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]

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

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#2

Parece un fallo del IDE

Saludos

No podemos regresar
    ¡Gracias!
#3

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.

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!
#4

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

No podemos regresar
    ¡Gracias!
#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.

"Pero no toques, por qué tocas? - Amador"
    ¡Gracias!


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)