Problema al compilar programa antiguo - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: Problema al compilar programa antiguo (/thread-1879.html) |
Problema al compilar programa antiguo - gampachel - 28-02-2025 Buenas, Estoy tratando de compilar para después ejecutar un programa ya antiguo que era pata catalogar una base de datos de películas y series. El programa en cuestión se llama Openmedia Manager. Hace mucho tiempo que el autor lo abandonó. El caso es que al tratar de compilarlo me sale el mensaje: "Algunos controles no se han cargado porque faltaban componentes". El control problemático se llama "EdtEditor". Adjunto una captura de pantalla de la jerarquía dentro del formulario problemático. Y otra captura con la definición de "EdtEditor As Editor". Y el mensaje del compilador , en otra captura. A ver si alguien me puede iluminar con pistas para solucionar este tema. un saludo RE: Problema al compilar programa antiguo - Shordi - 28-02-2025 Comprueba primero si la aplicación contiene un control propio llamado Editor porque, que yo recuerde, Gambas no lo tiene. En gambas existe el TextEditor del componente gb.Form.Editor que es un editor con resaltado de sintaxis de código y el TextEdit de los componentes gb.qt4.ext (o gbqt5.ext según tu S.O.) que es un editor de RichText. Saludos RE: Problema al compilar programa antiguo - gampachel - 28-02-2025 (28-02-2025, 12:52)Shordi escribió: Comprueba primero si la aplicación contiene un control propio llamado Editor porque, que yo recuerde, Gambas no lo tiene. El programa tiene las siguientes dependencias: gambas3-runtime (>= 2.90.0) gambas3-gb-image (>= 2.90.0) gambas3-gb-qt4 (>= 2.90.0) gambas3-gb-form (>= 2.98.0) gambas3-gb-db (>= 2.90.0) gambas3-gb-db-form (>= 2.98.0) gambas3-gb-db-sqlite3 (>= 2.90.0) gambas3-gb-desktop (>= 2.98.0) gambas3-gb-settings (>= 2.98.0) gambas3-gb-qt4-ext (>= 2.90.0) gambas3-gb-qt4-webkit (>= 2.90.0) gambas3-gb-web (>= 2.98.0) gambas3-script (>= 2.90.0) gambas3-gb-form-stock (>= 2.90.0) Gracias por la respuesta Al entrar en el IDE no se queja de que le falte ningún componente. Al principio sí porque está escrito para qt4 y yo tengo qt5. Pero eso ya lo resolví. ¿Cómo puedo comprobar si la aplicación usa un control propio? RE: Problema al compilar programa antiguo - Shordi - 28-02-2025 Cita:¿Cómo puedo comprobar si la aplicación usa un control propio? Eso es fácil. Si hay algún control propio llamado Editor, dentro de los fuentes del programa debe haber un Editor.class. Si no lo hay, con las dependencias que muestras aquí yo probaría a cambiar eso de "as Editor" por por "as TextEdit". TextEdit está dentro de gb.qt4.ext y ese componente sí lo tienes enlazado. Por otra parte no sé qué es lo que se intenta cargar en el editor, según lo que envías parecen ser scripts (no sé de qué clase son los .gbs) pero si es código de gambas o de Shell, prueba con "as TextEditor" y enlaza el módulo gb.form.Editor también. Si ninguno de los dos funciona... pues no tengo ni pajolera idea, oiga. Saludos RE: Problema al compilar programa antiguo - gampachel - 10-03-2025 Buenos días Gracias a Shordi he hecho progresos. He cambiado As Editor, por TextEditor y eso ya funciona casi al completo. Editor, por lo visto, es un control que ya está obsoleto. Para afinar, sólo necesito arreglar un par de cosas más: 1) El SW usa la instrucción: edtEditor.Styles[Highlight.Comment].Background = Color.Default La tengo que adaptar al nuevo control (tipo TextEditor) pero no sé cómo modificar la instrucción para que compile. 2) Para que muestre una ficha tipo Webview, usa el método .url: frmPrincipal.ficha.url = User.Home & ".omediamanager/moviecards/"Indian"/index2.html Pero esto no muestra nada. Esto otro, sí lo hace: frmPrincipal.ficha.url = "file:///home/pachel/.omediamanager/moviecards/Indian/index2.html" Sin poner el file:// , tampoco muestra nada. Estos son los componentes que cargo: Component=gb.image Component=gb.gui.qt Component=gb.form Component=gb.compress Component=gb.db Component=gb.db.form Component=gb.db.sqlite3 Component=gb.desktop Component=gb.settings Component=gb.gui.qt.ext Component=gb.gui.qt.webkit Component=gb.util.web Component=gb.web Alguna idea?? un saludo RE: Problema al compilar programa antiguo - Shordi - 10-03-2025 Cita:1) El SW usa la instrucción:Para lo primero en lugar de color.default prueba con Color.Background. Para lo segundo en lugar de & utiliza &/ . Ese conector se asegura de poner la barra en la cadena. Si con ello apareciesen dos barras seguidas las deja en una sola. La sentencia sería así: frmPrincipal.ficha.url = User.Home &/ ".omediamanager/moviecards/Indian/index2.html" (Las comillas eran impares en tu código. He eliminado las comillas de Indian y las he cerrado al final) Espero que con esto se solucione. RE: Problema al compilar programa antiguo - gampachel - 10-03-2025 Nada, sólo funciona con frmPrincipal.ficha.url = "file:///home/pachel/.omediamanager/moviecards/Indian/index2.html" Es decir, incluyendo file:// y con /home/pachel , no vale User.Home. Y para lo de edtEditor.Styles[Highlight.Comment].Background = Color.Default, el compilador no se queja de Color.default sino de Highlight como identificador desconocido. RE: Problema al compilar programa antiguo - Shordi - 10-03-2025 Bueno... user.home devuelve el path del home del usuario, es decir: "/home/pachel". Si tu programa necesita el file:// antes entonces "file://" &/ user.home &/ ".omedia...etc" debería funcionar. Respecto al Highlight, El fallo se debe a que hay cosas que han cambiado. Highlight como clase ha sido sustituída por la clase Theme. etc Solución exacta no te doy porque ignoro el contexto donde esa línea falla, pero aquí te he hecho una pequeña aplicación que te muestra el nombre de los estilos del tema "Gambas" y el color asignado a cada uno. Con eso deberías ser capaz de extraer el color asignado a "Comment" sin problemas. ![]() Saludos RE: Problema al compilar programa antiguo - gampachel - 11-03-2025 Buenas Ya he conseguido que cargue bien el fichero html: frmPrincipal.ficha.Url = "file:///" & User.home & "/.omediamanager/moviecards/Indian/index2.html" En vez de frmPrincipal.ficha.Url = "file:///" & User.home &/ ".omediamanager/moviecards/Indian/index2.html" El detalle estaba en la segunda &y el / , & "/.omediamanager en vez de &/ ".omediamanager/ Sobre el tema del Highlight, voy consiguiendo cosas pero se me antoja más complicado para el nivel de Gambas y de programación que tengo. Muchísimas gracias a Shordi por su gran ayuda que ha conseguido que vuelva a tener el programa funcional. Tengo un montón de películas catalogadas a través de él y me habría supuesto un incordio no poder usarlo. un saludo |