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.

Últimos temas

Estadísticas del foro
  • Mensajes del foro:6,643
  • Temas del foro:1,241
  • Miembros:191
  • Último miembro:LAT0048


Enviado por: Shell
27-05-2023, 19:01
Foro: General
- Respuestas (4)

Buenas!.

Este proyecto es una adaptación del Cubo De Rubik  que si no me equivoco es de tercoIDE.
El otro día fui a usar el proyecto pero la Gambas 3.18.2 no me dejó en Linux Mint 20.2.

Se quejaba de que faltaban componentes, lógicamente  La Linux Mint 20.2 no usa Qt4, pero si Qt5.
He probado en una Linux Mint 19.3 que si tiene QT4, el proyecto no se ha quejado de componentes, pero si ha dado error al funcionar.
Los componentes que solicita el proyecto son:

[Imagen: yZuXa83.png]

Aparentemente el estado de los componentes son estables.
No creo que sea un problema sustituir:

- gb.qt4 -> gb.qt5
- gb.qt4.opengl -> gb.qt5.opengl

Como sabéis en la Gambas 3.18.2 disponemos ademas de:

- gb.gui.qt.opengl
- gb.gui.qt

Pero con esos si se quejaría el proyecto.  Es como si el intercambiador gb.gui.qt.opengl no haga por acceder a gb.qt5.opengl.

Detallo la salida por consola para mostrar los mensajes de error: ( El programa se detiene inesperadamente y se aborta ).
 

C
  1.  
  2. gb.jit: panic: unsupported opcode 0600
  3.  
  4.  
  5. //////// modMotor3D
  6.  
  7. void jit_modmotor3d_9(uchar n);
  8. static void jit_modmotor3d_9_(double p0,double p1,double p2,double p3,double p4,double p5);
  9. void jit_modmotor3d_27(uchar n);
  10. static void jit_modmotor3d_27_(double p0,double p1,double p2,double p3);
  11.  
  12. // Rotar3Df
  13.  
  14. void jit_modmotor3d_9(uchar n)
  15. {
  16.   VALUE *sp = *((VALUE **)0x55f1269479b0);
  17.   jit_modmotor3d_9_(PARAM_f(0),PARAM_f(1),PARAM_f(2),PARAM_f(3),PARAM_f(4),PARAM_f(5));
  18. }
  19.  
  20. static void jit_modmotor3d_9_(double p0,double p1,double p2,double p3,double p4,double p5)
  21. {
  22.   double l0 = 0;
  23.   double l1 = 0;
  24.   VALUE **psp = (VALUE **)0x55f1269479b0;
  25.   VALUE *sp = SP;
  26.   ushort *pc = (ushort *)0x55f12898e574;
  27.   GB_VALUE_GOSUB *gp = 0;
  28.   bool error = FALSE;
  29.   VALUE *ssp = sp;
  30.   TRY {
  31.  
  32. __L0:; // modMotor3D.Rotar3Df.0




Subo el código fuente por si lo perdisteis.


P.d He logrado hacerlo funcionar, pero eliminando la palabra Fast de dos procedimientos:

- Rotar3Df
-TranslateScale

[Imagen: enzPBSS.png]
 

Saludos

El componente gb.jit necesita según la ayuda de Gambas LLVM >= 3.1
Pero tomando el nombre de LLVM como referencia en Synaptic solo encontré instalado esto:

[Imagen: IQVgZ3x.png]

Encuentro que esto no esta instalado:

[Imagen: JKoGQso.png]

Es el único que se llama LLVM como Low-Level Virtual machine.

Esto todo en una Linux Mint 19.3, claro.

Imprimir


Enviado por: Shell
27-05-2023, 11:33
Foro: General
- Respuestas (3)

Buenas!.

[Imagen: clc5Mz4.png]

Ahora ya se muestra al menos un mensaje.

Se vuelve a repetir, ¿ qué ocurre realmente ?. Hace poco tuvimos un problema similar.
¿ Mantenimiento ?, ¿ cambio de alojamiento ?.

 Y lógicamente con el portal de Gambas, ocurre igual, solo que no muestra mensaje.

Saludos

Imprimir


Enviado por: alberto-moyano
26-05-2023, 20:35
Foro: Aplicaciones/Fragmentos de Código
- Respuestas (2)

Hola colisteros, no encuentro que hago mal en el siguiente caso. Tengo un formulario (con un editor) que puedo instanciar tantas veces como lo necesite, la cuestión es que cuando quiero guardar cambios en cualquiera de los formularios abiertos, no lo obtengo y solo guarda los cambios en el primero, no entiendo si mi error es de lógica o de código, el código que desarrollé  es el siguiente.

Gracias por cualquier comentario

Código:
GAMBAS
  1. Private formulariosAbiertos As New FormMAESTRO[]
  2. Private activeForm As FormMAESTRO
  3.  
  4. ' Evento GotFocus para cada formulario
  5. Public Sub Form_GotFocus()
  6.  
  7.   activeForm = Me
  8.  
  9.  
  10. Public Sub menuSAVE_Click()
  11.  
  12.   If activeForm = Null Then
  13.     Return
  14.   End If
  15.  
  16.   If activeForm.Dialog.Path = "" Then
  17.     guardarComo(activeForm, True)
  18.   Else
  19.     File.Save(activeForm.Dialog.Path, activeForm.TextEditor.Text)
  20.   End If
  21.  
  22.  
  23. Public Sub menuSAVE_AS_Click()
  24.  
  25.   guardarComo(True)
  26.  
  27.  
  28. Public Sub guardarComo(formulario As FormMAESTRO, local As Boolean)
  29.  
  30.   formulario.Dialog.Title = "Guardar como..."
  31.   formulario.Dialog.Filter = ["*.tex", "Archivos LaTeX", "*.adoc", "Archivos Asciidoc", "*.md", "Archivos Markdown"]
  32.  
  33.   If formulario.Dialog.SaveFile() Then
  34.     ' Proceso cancelado por el usuario
  35.     Return
  36.   Else
  37.     If formulario.Dialog.Path = "" Then
  38.       Message.Info("El archivo no tiene un nombre válido.")
  39.       Return
  40.     End If
  41.  
  42.     If local Then
  43.       File.Save(formulario.Dialog.Path, formulario.TextEditor.Text)
  44.       ' Actualizar el título del formulario con la nueva ubicación
  45.       formulario.Title = formulario.Dialog.Path
  46.     Else
  47.       ' Otras acciones a resolver
  48.     Endif
  49.  


y el código que utilizo para abrir las diferentes instancias y guardarlas en una lista es

GAMBAS
  1. Public Sub menuABRIRarch_Click()
  2.  
  3.   Abrir(True)
  4.  
  5.  
  6. Public Sub Abrir(local As Boolean)
  7.  
  8.   Dim cadena As String
  9.  
  10.   Dialog.Title = "Escoger archivo"
  11.   Dialog.Filter = ["*.tex", "Archivos LaTeX", "*.adoc", "Archivos Asciidoc", "*.md", "Archivos Markdown"]
  12.  
  13.   If Dialog.OpenFile() Then
  14.     ' Proceso cancelado por el usuario
  15.     Return
  16.   Else
  17.     If Dialog.Path = "" Then
  18.       Message.Info("El archivo no tiene un nombre válido.")
  19.       Return
  20.     End If
  21.  
  22.     If local Then
  23.       cadena = File.Load(Dialog.Path)
  24.       Dim newForm As New FormMAESTRO
  25.       newForm.TextEditor.Text = cadena
  26.       newForm.TextEditor.SetFocus
  27.       newForm.Show
  28.       newForm.Title = Dialog.Path
  29.  
  30.       ' Añadir el formulario a la matriz de formularios abiertos
  31.       formulariosAbiertos.Add(newForm)
  32.     Else
  33.       ' Otras acciones según sea necesario
  34.     Endif
  35.  


Imprimir