Shell   10-03-2023, 14:20
#1
Buenas!.

En su día hice una aplicación que listaba los proyectos de Gambas3 en un directorio concreto.
Los mostraba en un gridview y desde la selección de una celda abría el proyecto.
El método es así:

Código:
Public Sub grd_Select()
 
  Shell Subst("gambas3 &1", grd[grd.row, 0].Text)
 
End

Y suele funcionar sin problemas.

Pero lo cierto es que estoy intentando abrir un proyecto desde la consola y no me funciona.
Ejemplo con la aplicación el contenido de la celda seria:

grd[grd.row, 0].Text es igual a "/home/miusuario/Programacion/PracticasGambas/Marzo2021/CalculaVelocidad/"

Pero he probado a hacer lo mismo desde la terminal y se me queda tonto gambas3. No carga nada.

Código:
Según la información de la línea de comandos dice esto:
 
[quote]
$ gambas3 [<project directory> [<project file> ...]]
       
  Open the IDE with the specific project, optionally opening the specified project files.
  If no argument is specified, open the IDE with a nice welcome dialog.
[/quote]

En el directorio del proyecto existe un archivo oculto que se llama .project ( en todos los proyectos de gambas3, claro).

Tengo un problema con la sintaxis de carga.

Os muestro otro ejemplo. Estoy intentando cargar desde línea de comandos el proyecto "CalculaVelocidad".
Esta vez uso la instrucción "locate".
[code]
gambas3 $(locate CalculaVelocidad | head -n 1)

El mismo problema. Así que si muestro solamente lo que me devuelve locate..
Código:
locate CalculaVelocidad | head -n 1

Me devuelve esto:
Cita: 
/home/miusuario/Programacion/PracticasGambas/Marzo2021/CalculaVelocidad

Como veis es la ruta completa.

¿ Cuál es el problema con el comando gambas3 ?.
 

Tampoco funciona...

[code]

Saludos
Última modificación: 12-03-2023, 16:46 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shell   10-03-2023, 17:04
#2
Creo que he encontrado la solución.

Cuando cargaba el proyecto desde la terminal, gambas3 no acababa de abrirse mostrando el ide.
Pero, si abría el ide luego, aparecía el nombre del proyecto en la lista de recientes!. Confused

Así que para darle a gambas3 más información, lo tuve que hacer de esta forma:

Hay que decirle si usamos gtk o si usamos qt ( todo eso ).
Así que si estoy buscando un proyecto de Gambas que se que existe en la home y quiero cargarlo desde la terminal:

Código:
locate CalculaVelocidad | head -n 1 | xargs env GB_GUI=gb.qt5 gambas3

Y si lo que quiero es cargar un proyecto sin buscarlo y voy a usar qt5.

Código:
env GB_GUI=gb.qt5 gambas3 /home/usuario/Programacion/PracticasGambas/Abril2014/CambioDeTipodeVariable/

Jope..todo eso.  Sad
Es que realmente Gambas3 carga, pero se queda ahí, sin saber que librería gráfica usar.
Y ahora digo yo...¿ es que acaso el .proyect del proyecto no se lo dice a Gambas "si es de qt o de gnome" ?... Huh

Si la variable de entorno se añade a los del sistema o en el .profile será menos trabajo, pero no me parece muy normal.

Saludos

(10-03-2023, 17:04)Shell escribió: Y ahora digo yo...¿ es que acaso el .proyect del proyecto no se lo dice a Gambas "si es de qt o de gnome" ?..

Me respondo yo mismo. Tongue

Pues no, el .proyect de un proyecto de gambas3 no dice si usa qt. Se lo dice .startup.
Pero se lo esta diciendo.."lesches" como diría Bernardo.

Ale a añadir la variable de marras a uno de estos si lo queréis para todos los usuarios
    /etc/profile
    /etc/bash.bashrc
    /etc/environment
Última modificación: 10-03-2023, 17:30 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   10-03-2023, 19:13
#3
A mí me funciona bien sin poner librerías ni variables de entorno... si quito la barra del final. Con ella no.
O sea, algo así:

gambas3 /home/usuario/Programacion/PracticasGambas/Abil2014/CambioDeTipodeVariable

Saludos
Última modificación: 10-03-2023, 19:16 por Shordi.

No podemos regresar
Shell   10-03-2023, 20:01
#4
(10-03-2023, 19:13)Shordi escribió: A mí me funciona bien sin poner librerías ni variables de entorno... si quito la barra del final. Con ella no.

Probé de las dos formas, con barra y sin barra al final. Igual.

¿ Has comprobado si tienes la variable de entorno declarada ?. Como sueles hacer copia seguridad a diario y añadir la variable de entorno en tu script.
Funcionaría a la primera.

Código:
printenv GB_GUI

En parte no veo normal que no funcione. Probaré en la otra distro. Es muy raro, salvo que Gambas lo necesite. ( Versión concreta, claro ) Confused


Saludos
Última modificación: 10-03-2023, 20:03 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
tincho   11-03-2023, 01:12
#5
Tal vez te funcione esto:

Código:
      If Exist(sDirectory) Then
        If Stat(sDirectory).Type = gb.Directory Then
          gbx = System.Find("gambas3")
          sComm = gbx & " " & Shell$(sDirectory)
          Shell sComm
        Endif
      Endif

1 Saludo.
Shell   11-03-2023, 11:47
#6
(11-03-2023, 01:12)tincho escribió: Tal vez te funcione esto:

Esto está bien una vez dentro del editor (mejora mucho el código indiscutiblemente, pero mucho más).
Pero la pregunta es, ¿ Cómo cargar un proyecto de Gambas desde la terminal de Linux sin usar el editor ?. Wink

En el proyecto que comenté desde el propio Gambas no hay problema, sin añadir una buena mejora como la tuya.
Aparentemente para poder cargar desde la terminal un proyecto Gambas, antes hay que establecer la variable del tipo
del componente GUI que va a usar el editor.  GB_GUI=gb.qt ó GB_GUI=gb.gtk2, etc.

Entonces esto se puede establecer en un script para que luego cargue el proyecto en cuestión o se establece la variable de entorno GB_GUI
ya sea para un usuario concreto o para todo el sistema.

Entiendo que el editor de Gambas "puede" que necesite saber que GUI quieras usar, pero hasta ahora no sabía que hubiera que
especificarselo. Sobre todo porque el proyecto debe decírselo, "estoy hecho para qt, estoy hecho para gtk2, etc" y con eso el editor
debería usar el gui adecuado.

Por una parte, se puede crear un script hecho en Gambas script y añadir el código como has mostrado. Pero claro es más complejo
que hacer un gambas3 /directorio/miproyecto desde la terminal (que aparentemente eso se queda corto y puede que el editor espere algo más)

Se que Shordi en su día creó un script de seguridad de sus proyectos de Gambas y en el mismo establecía la variable de entorno, entonces
se le puede pasar por alto ya que es algo automatizado.

Tincho, ¿ has probado a cargar un proyecto de gambas desde la terminal de Linux ?.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
tincho   11-03-2023, 14:02
#7
No termino de entender del todo bien tus (en mi opinión innecesariamente extensos) mensajes, pero intentare sugerir esto:

si "Cargar" = "abrir con el IDE":
Entonces usa lo que te dije antes desde tu programa de gambas (el ejecutable o desde el propio IDE)
Si lo que quieres es abrirlo un proyecto (Con el IDE) pero dando la orden desde la terminal tienes que usar:
/usr/bin/gambas3 /el/camino/a/tu/proyecto

Si Cargar = Correr el programa alojado en un directorio
/usr/bin/gbx3 /el/camino/a/tu/proyecto

Eso es todo.
Última modificación: 11-03-2023, 14:33 por tincho.

1 Saludo.
Shordi   11-03-2023, 14:25
#8
... y yo insisto:  Gambas3 path/tuproyecto funciona perfectamente en mi linux mint  y gambas 3.18.1 y en el ubuntu mate de la Raspberri Pi con gambas 3.16.3


Saludos

No podemos regresar
Shell   11-03-2023, 18:03
#9
(11-03-2023, 14:02)tincho escribió: No termino de entender del todo bien tus (en mi opinión innecesariamente extensos) mensajes, pero intentare sugerir esto:

Pues no conozco otro español para entenderme con vosotros.  Wink

Son extensos para que no os perdáis un detalle del problema, la pregunta es sencilla, lo dice el tema del mensaje.
Abrir consola de Linux -> escribir comando gambas y añadir la ruta para abrir en el IDE de Gambas el proyecto en concreto.
 
(11-03-2023, 14:02)tincho escribió: si "Cargar" = "abrir con el IDE":

Eso es.
Puede que sea eso, ahí si te entiendo el motivo por lo que no entendiste eso.
Pero para eso tienes que preguntar.
 
(11-03-2023, 14:02)tincho escribió: Si lo que quieres es abrirlo un proyecto (Con el IDE) pero dando la orden desde la terminal tienes que usar:
/usr/bin/gambas3 /el/camino/a/tu/proyecto

En realidad no hace falta especificar toda la ruta donde está alojado gambas3.  Así es como lo hago y no funciona.
No pasa de la consola al entorno de desarrollo.
 
(11-03-2023, 14:25)Shordi escribió: ... y yo insisto:  Gambas3 path/tuproyecto funciona perfectamente en mi linux mint  y gambas 3.18.1 y en el ubuntu mate de la Raspberri Pi con gambas 3.16.3

Pues no se lo que tiene en este sistema sin variable de entorno. Que no funciona y es que es lo más sencillo la instrucción.
Y o más gracioso es que si luego, después de Ctrl-C en la consola. Abro el IDE de Gambas desde el escritorio, se ve en recientes
el proyecto que intenté abrir desde la terminal. ( Por eso no se puede escribir un mensaje telegráfico. Si no lo digo como os ibais
a enterar de lo que hace).

De paso lo probé en la Mint 19.3 y el mismo problema.

Y ahora os voy a mostrar de paso una Ubuntu virtualizada 22.04 y sus mensajes de errores al realizar la misma operación.

[Imagen: GouweLW.png]

Y no se abre el IDE . En el caso de ejecutar gambas3 a secas en la terminal también mostraría esos mensajes, pero se abriría el IDE.

Ahora bien, tomo esa misma terminal en Ubuntu y escribo:

Código:
GB_GUI=gb.qt5 gambas3 Documentos/HolaMundo/

Se muestra esto en la ventana:

Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.

Y el editor se abre con el proyecto.

¿ Tan complicado es ejecutar gambas3 en la terminal especificando la ruta donde está el proyecto  y abrir este en el IDE ?. A eso voy.

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shell   12-03-2023, 16:45
#10
Esto parece que lo he solucionado. Lo cierto es que es bastante raro.

Probé una máquina con Linux Mint Cinnamon 21 y no me dio problema.
Así que seguí toda esta trayectoria.

Linux Mint Mate 20.3. Máquina virtual.

Gambas por defecto de distro: 3.14.3

Error al iniciar:
gbr3: unable to load component: gb.form.print
Instalación manual del paquete. Funcionando IDE.

Carga de proyecto y mostrar en el editor:

gambas3 Documentos/Ejemplo1/

No funciona.

gambas3 ~/Documentos/Ejemplo1/

Funcionando!.

Synaptic. Selección de todos los paquetes Gambas3 para desinstalar.
Error. Paquetes rotos. Solucionado desde el gestor Synaptic.


Instalando ppa versión estable. 3.18.1

Carga de proyecto y mostrar en el editor:

gambas3 Documentos/Ejemplo1/

Funcionando!.

gambas3 ~/Documentos/Ejemplo1/

Funcionado.

Linux Mint Mate 20.3. Máquina real
Gambas 3.8.1

gambas3 Programacion/PracticasGambas/Enero2023/RatonCoordenada/

No funciona

gambas3 ~/Programacion/PracticasGambas/Enero2023/RatonCoordenada/

No funciona

Eliminando .config/gambas3/gambas3.conf

gambas3 ~/Programacion/PracticasGambas/Enero2023/CirculoDos/

Funcionando!

gambas3.conf estaba creando ese problema. Exclamation

Cosa más rara.

Suelo tener tropecientos en recientes, pero bueno.

Saludos

"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.