Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Linux (https://www.clubdelphi.com/foros/forumdisplay.php?f=25)
-   -   problemas al migrar aplicacion lazarus windows a lazarus linux (https://www.clubdelphi.com/foros/showthread.php?t=91051)

anubis 31-10-2016 23:17:56

problemas al migrar aplicacion lazarus windows a lazarus linux
 
Buenas de nuevo,

Nada más comentar que intenté migrar una aplicación hecha con lazarus windows a lazarus linux y no hubo forma que funcionara como debiera. Compilar si compila y ejecuta sin problema despues de quitar las unit windows por las respectivas linux.
Pero en cuestion de imprimir, tal y como puse en otro post, no lo hace igual. Imprimo logo, datos del ticket en una impresora de tickets e incluso, abre el cajon, pero el resultado no es el mismo. Digamos que saca el ticket 1/16 del tamaño que me sacaria en windows, no se si el canvas se comporte de manera diferente de windows a linux.

Otra cosa curiosa es el tratamiento de imagenes png con el componente timage. En linux si me lo carga igual, pero a la hora de visualizarlo, me aparece la imagen sobre fondo gris. Ya desactive la transparencia en las propiedades.
Mismamente, creando proyecto nuevo en linux, con un simple form, y colocando un timage con un png, hace exactamente lo mismo, verse mal en 8 bits.

No he seguido viendo diferencias porque, la verdad, ya me desespero.

Pero esto es así. Se que no debe de ser tan facil migrar de uno a otro sistema, pero cosas basicas?. Incluso sino compilara seria cuestion de units, pero un simple tratamiento de una imagen png.

saludos y perdon por los comentarios

nota: aclaro que esta pasando con alguna imagen en concreto. No se bien si pueda ser porque no trata las transparencias o algo pero es la misma imagen en windows como en linux. Tengo que investigar esa parte. Lo de la impresora imagino que tambien vaya por ahi no lo se, que sea cuestion de investigar el porque hace eso y no lo saca igual que en windows.

Casimiro Notevi 01-11-2016 02:31:03

Aquí no vale desesperarse, hay que ir paso a paso con cada incidencia. Poco a poco se llega lejos.

anubis 05-11-2016 18:17:48

Hombre, si sabemos que no hay que desesperarse, pero se supone que, aunque son las mismas armas en codigo y compilan, el resultado no es el mismo. Teniendo en cuenta que es multiplataforma, debiera de hacer lo mismo.
El problema es saber por donde buscarle :(.

Casimiro Notevi 05-11-2016 20:20:49

Yo entiendo que multiplataforma es que hay una versión para windows, otra linux, etc. pero no que todo el código de un sistema tenga que funcionar igual en otro sistema.
Ojalá siempre fuese fácil crear código multiplataforma de verdad.

Ñuño Martínez 08-11-2016 12:09:05

Yo he hecho programas con Lazarus o símplemente con Free Pascal que compilan y funcionan tanto en Windows como en Linux sin hacerles cambios. Pero no todos los programas que he hecho lo han permitido, por desgracia.

El tema de las imágenes es peliagudo, y creo que es por que se apoya en elementos (controladores, bibliotecas...) de terceros. En concreto PNG es problemático por eso. Hasta donde sé, Windows (XP/7) no tiene soporte completo para PNG de forma nativa (por ejemplo, no identifica los PNG animados, de ahí que la gente siga usando GIF).

Una posible solución sería utilizar no los componentes que vienen con Lazarus (que usan las bibliotecas nativas en cada sistema siempre que las haya) sino algún paquete de terceros. Haz una búsqueda en la wiki de Lazarus y en su foro, seguro que encuentras algo que funcione.

Delphius 08-11-2016 16:41:58

Cita:

Empezado por Ñuño Martínez (Mensaje 510518)
Yo he hecho programas con Lazarus o símplemente con Free Pascal que compilan y funcionan tanto en Windows como en Linux sin hacerles cambios. Pero no todos los programas que he hecho lo han permitido, por desgracia.

El tema de las imágenes es peliagudo, y creo que es por que se apoya en elementos (controladores, bibliotecas...) de terceros. En concreto PNG es problemático por eso. Hasta donde sé, Windows (XP/7) no tiene soporte completo para PNG de forma nativa (por ejemplo, no identifica los PNG animados, de ahí que la gente siga usando GIF).

Una posible solución sería utilizar no los componentes que vienen con Lazarus (que usan las bibliotecas nativas en cada sistema siempre que las haya) sino algún paquete de terceros. Haz una búsqueda en la wiki de Lazarus y en su foro, seguro que encuentras algo que funcione.

Tengo entendido que por estos tipos de cosas es que surgió la "suite" BGRABitmap.
Es multiplataforma, soporta varios formatos, y a mi hasta ahora me anda bien. Tuve un único problemilla muy menor hace un buen tiempo, pero más que problema era una pifia de mi parte sobre el desconocimiento de como internamente se maneja el canal alpha en la estructura BGRA al acceder a un pixel.
Acudí a su foro y el propio autor salió en mi ayuda.

Saludos,


La franja horaria es GMT +2. Ahora son las 02:00:25.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi