Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Aplicación para Mac con Lazarus

Hola a todos.

Tengo una aplicación casi terminada hecha en lazarus, para el sistema operativo Mac OS. La aplicación usa un archivo INI y varios reportes LazReport.
Cuando tengo abierto lazarus la aplicación funciona muy bien, sin problemas. En este momento, voy a opciones del proyecto y creo el envoltorio (bundle) para la aplicación. Posteriormente, modifico el bundle e introduzco el ejecutable del mismo nombre donde esta el enlace que hay dentro la carpeta MacOs.

El problema viene cuando cierro lazarus y abro la aplicación por si sola desde el bundle (.app). La aplicación funciona bien pero no carga ni el archivo INI ni carga los reportes, en su lugar solo sale el nombre del componente "frPreview". Para que lea el archivo INI y los reportes, estos deben ir junto con el ejecutable, al menos en windows, pero en Mac, donde los coloco dentro del bundle? He probado a meterlos dentro de la carpeta Resources, dentro de la carpeta MacOs, pero nada sigue igual.

Queria saber si alguien ha probado esto y si conocen alguna solución?

Muchas gracias de antemano.
Saludos.
Responder Con Cita
  #2  
Antiguo 13-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿El programa está hecho sobre un mac?
Responder Con Cita
  #3  
Antiguo 13-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Un bundle es un directorio que sigue una estructura especifica:

http://en.wikipedia.org/wiki/Application_bundle

Es lo que permite que las apps puedan instalarse con solo copiarse, porque TODO lo que necesiten esta empaquetado dentro del bundle. Si necesitas que el archivo ini "viaje" con la app, entonces simplemente debe estar dentro del bundle.
__________________
El malabarista.
Responder Con Cita
  #4  
Antiguo 14-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Gracias por vuestras respuestas.

Si, el programa esta hecho con lazarus en su ultima version la 1.2.2 y sobre mac os x tambien en su ultima version creo que es la 10.9.2.

Entiendo que todo lo que necesite la app debe estar dentro del bundle pero no se donde meterlo y si hay que hacerlo manualmente, incluyendo los reportes y el INI por ejemplo en la carpeta resources que esta dentro del bundle o hay alguna opcion en lazarus para incluir automaticamente estos archivos en el envoltorio. He intentado meterlos manualmente pero no ha funcionado, no se si debo declararlos en alguna parte del proyecto o en el archivo plist... He buscado en todos los idiomas y he probado mil cosas pero no lo consigo. Tambien he mirado algunos ejemplos y los he intentado aplicar a mi app pero sin resultados. Me estoy tirando de los pelos...

Gracias.
Responder Con Cita
  #5  
Antiguo 14-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cuando te preguntes en iOS/OSX sobre algo, la documentacion de apple es generalmente buena:

https://developer.apple.com/library/...roduction.html
https://developer.apple.com/library/...utBundles.html

Mira como lo usan en Mozilla para empaquetar apps con XUL:

https://developer.mozilla.org/en-US/...s_for_Mac_OS_X

como pa darte una idea. El chiste es que contents es como te de la gana de organizarlo
__________________
El malabarista.
Responder Con Cita
  #6  
Antiguo 14-05-2014
Avatar de Julián
Julián Julián is offline
Merodeador
 
Registrado: may 2003
Ubicación: en mi casa
Posts: 2.019
Poder: 10
Julián Va por buen camino
Yo intenté, como ya he comentado en algún otro hilo, conseguir esto mismo, es decir, programar, compilar y generar una app para OSX, aunque no me importaría tener que hacerlo desde win o linux. No lo conseguí ni encontre nada que me ayudara.

Asi que si alguien consigue hacerlo, que explique cómo se hace, y ponemos el mensaje fijo, con chincheta y letras rojas y grandes e intermitentes. Y al autor o autores de la hazaña los nombramos socios de honor de clubdelphi.

Es que, aunque ya sabemos, que según dicen, es posible hacerlo, sería la hostia saber cómo se hace y tener un ejemplo, aunque fuese un sencillo hola mundo, para Windows, OSX, iOS y por supuesto, Linux.

Un saludo

PD: Si hace falta un betatester o algo podria volver a poner Lazrus en mi OSX.
__________________
"la única iglesia que ilumina es la que arde"
Anonimo
Responder Con Cita
  #7  
Antiguo 14-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Yo he hecho eso. Crear la app y con bundle. El fastidio es que lazarus se nota a leguas que esta hecho por linuxeros. No hay sino que ver como se desinstala (y recordando ademas como se instala? Que pereza hacerlo de nuevo):

http://wiki.lazarus.freepascal.org/I...nd_Free_Pascal

El problema no es tanto lograrlo. Es quien esta tan loco* de depender de una herramienta asi. Lazarus es una mala herramienta (FreePascal es buena!).

Es de las mas anti-OSX que he usado.

* Con mis respetos al que inicia este hilo
__________________
El malabarista.
Responder Con Cita
  #8  
Antiguo 14-05-2014
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por mamcx Ver Mensaje
Yo he hecho eso. Crear la app y con bundle.
Pues hombre, para tranquilidad de Julián, ¿no podrías poner el howto?

// Saludos
Responder Con Cita
  #9  
Antiguo 14-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por roman Ver Mensaje
Pues hombre, para tranquilidad de Julián, ¿no podrías poner el howto?
// Saludos
Responder Con Cita
  #10  
Antiguo 14-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Ok aqui va:

Leer toda la información en http://wiki.lazarus.freepascal.org/I...rus_on_MacOS_X

Instalar los prerequisitos.

Descargar la ultima version estable de FreePascal.

Actualmente es:

http://sourceforge.net/projects/laza...x.dmg/download

Se puede bajar el binario de lazarus, pero según se explica en el wiki, en Mavericks ya no esta instalado por defecto GDB (el debugger) porque Apple ha movido todo a una toolchain mas superior (LLVM, CLANG, LLDB), asi que hay que instalar aparte:

http://wiki.lazarus.freepascal.org/G...ks_and_Xcode_5

Notar en el wiki cual es la version que combina de lazarus. Para FPC 2.6.4 es Lazarus 1.2.2.

Visitar a http://svn.freepascal.org/svn/lazarus/tags/ y descargar con subversion el tag 1.2.2:

Código:
svn co http://svn.freepascal.org/svn/lazarus/tags/lazarus_1_2_2/ lazarus
Este es un paso incorrecto (o mejor dicho: Problematic) en el wiki. El wiki asume descargar de la rama de desarrollo (trunk) que requiere recompilar FPC y usar un código potencialmente inestable. En cambio, aqui usamos un binario FPC estable + código Lazaurs estable:

Código:
cd lazarus
make
Se puede dar
Código:
make install
pero no quiero, así dentro de la carpeta lazarus se crea lazarus.app y no hay que contaminar (aun mas de lo que hace FPC) los directorios. Se puede ejecutar la app directamente o arrastrar al dock.

Se va a quejar de que no tiene acceso a las fuentes de FPC ni al debugger. Los ignoro como todo un desgraciado. Lo del debugger se arregla como dice el wiki, y lo de las fuentes ahi que descargar del tag correcto por subversion.

Guardo el proyecto en una carpeta. Lo ejecuto.

Dentro de esa carpeta quedara [NOMBRE PROYECTO].app (si todo sale bien).


FIN.
Imágenes Adjuntas
Tipo de Archivo: jpg Evidencia.jpg (37,0 KB, 16 visitas)
__________________
El malabarista.
Responder Con Cita
  #11  
Antiguo 14-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Talking

Bueno, no es la primera vez que me llaman loco por usar lazarus y mas para mac pero me lo tomo con humor.

Solo decir, en defensa de lazarus, que en versiones anteriores a la que hay actualmente si que había miles de fallos y era bastante inestable tanto para windows como para mac, pero en esta versión todo parece funcionar bien y por lo menos a mi no se me ha colgado ninguna vez. En cuanto a la instalación si que es un fastidio, y la desinstalación... también a pesar de que lo quieren poner fácil con el archivo uninstall.sh, que creo no sirve de mucho.

En cuanto al tema principal, hasta ahora he conseguido lo siguiente.
Compilar y ejecutar la aplicación con lazarus.
Crear el envoltorio .app con lazarus.

Ahora en el directorio del proyecto tengo los archivos:
- Programa.app
- Programa.exec
- Todas las .pas y demás.

Si en este momento, me llevo el archivo .app al escritorio y lo intento ejecutar dice que esta incompleto. Por ello, muestro el contenido del paquete Programa.app y dentro de la carpeta MacOs, introduzco el archivo Programa.exec sustituyendo al que hay.
Ahora, cuando me vuelvo a llevar el Programa.app al escritorio ya si que se ejecuta correctamente y todo funciona bien.

Mi cuestión sigue siendo dónde meter los archivos INI y Report.lrf dentro del Programa.app para que éstos funcionen.
Lo lógico y según he leído, es meterlos en Resources, pero lo he intentado y no resulta.

Alguien sabe si debo declararlos en algún archivo mediante lazarus o manualmente?

Gracias de nuevo.
Responder Con Cita
  #12  
Antiguo 15-05-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Que es lo que no resulta?
__________________
El malabarista.
Responder Con Cita
  #13  
Antiguo 15-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Lo que no resulta es que la app no carga el archivo INI ni los reportes, he echado un vistazo a la documentación y por lo que entiendo estos archivos deben ir en la carpeta resources del .app, pero los meto ahí y sigue sin cargarlos. Las rutas que tengo puestas en la aplicacion son del tipo ('conf.ini'), he intentado cambiarlas y poner ('resources/conf.ini') pero tampoco los carga, puede que sea esto? Me estoy equivocando al poner la ruta?

Gracias de nuevo.
Responder Con Cita
  #14  
Antiguo 15-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Creo que he encontrado una solución... Al menos temporal.

Por lo que creo, en mac no se puede llamar a un archivo sin la ruta completa, es decir, no puedo poner el programa.app en el escritorio y decirle por ejemplo al pulsar un botón que cree un archivo.txt por que no lo crea. En windows si pongo el .exe en el escritorio y le digo lo mismo si que crea un .txt en el escritorio.

Asi que he llegado a la solución de obtener el path de programa.app con Application.Location y añadirle ahí que cree el archivo y posteriormente lo lea. Es decir en un ejemplo:
Código:
Memo1.Lines.SaveToFile(Application.Location+'archivo.ini');
Y para leer
Código:
Memo1.Lines.:LoadFromFile(Application.Location+'archivo.ini');
Asi que de tal modo, he de introducir los reportes en la carpeta MacOs dentro de programa.app junto al ejecutable y darle esa ruta para que los pueda usar. Aun lo he probado pero voy a ello, pero aunque no funcione al menos he encontrado una forma de solucionar lo del archivo INI. De cualquier modo, estos archivos siguen si estar en la carpeta RESOURCES dentro de programa.app que es donde deberían estar creo. Hay alguna forma de llamar a Application.Location y eliminar /MacOs/ y poner /Resources/ ?? Ya que me gustaría que los archivos estuviesen ahi...

Gracias.
Responder Con Cita
  #15  
Antiguo 15-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Si que funcionan, ahora mismo funciona todo, reportes, archivo INI, etc. Todo perfecto.

Ahora solo me falta probarlo en otro mac a ver si también funciona, aunque he forzado el cierre de lazarus para evitar que quede nada abierto y así probarlo, creo que probarlo en otro que no tengo nada de lazarus instalado estaría bien. Tengo otro con un poco mas antiguo, lo probare e ire informando.
Ahora solo me falta el icono, no soy capaz de ponerlo.
Lo he generado con Icon Composer (El original de Apple). Con el, ya tengo el iconset (.icns), ahora abro el info.plist del programa.app e introduzco las lineas:
Código:
  <key>CFBundleIconFile</key>
  <string>iconfile.icns</string>
Introduzco el iconfile.icns dentro de la carpeta Resources que dicen es donde debe ir, pero el icono no cambia, sigue siendo el papel con el pincel y el lápiz. Quizás hay algún otro método?

Gracias.
P.D.: Si lo creeis oportuno puedo hacer una pequeña guía de los pasos que he seguido para conseguir que funcione y que pueda servirle a otros usuarios aunque para completarla necesitaría una mano con el icono y el tema de cambiar la ruta de los archivos.

Gracias de nuevo.
Un Saludo.
Responder Con Cita
  #16  
Antiguo 15-05-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Jovalca.
Cita:
Empezado por Jovalca Ver Mensaje
P.D.: Si lo creeis oportuno puedo hacer una pequeña guía de los pasos que he seguido para conseguir que funcione y que pueda servirle a otros usuarios aunque para completarla necesitaría una mano con el icono y el tema de cambiar la ruta de los archivos.
No está ni en mis mas remotos planes trabajar en ese entorno, pero te puedo asegurar que vas a encontrar muchos agradecidos si publicaras una pequeña guía paso a paso sobre como generar una aplicacion para OSX

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #17  
Antiguo 15-05-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.021
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
... pero te puedo asegurar que vas a encontrar muchos agradecidos si publicaras una pequeña guía paso a paso sobre como generar una aplicacion para OSX
Tanto es así, que algunos dicen que no se puede
Responder Con Cita
  #18  
Antiguo 15-05-2014
Jovalca Jovalca is offline
Miembro
NULL
 
Registrado: sep 2013
Ubicación: Madrid - España
Posts: 30
Poder: 0
Jovalca Va por buen camino
Ok, investigo un poco mas a ver si consigo algo estable y me pongo con la guia.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Aplicacion Lazarus portable en multiplataformas de S.O. ginkaku Lazarus, FreePascal, Kylix, etc. 1 30-03-2013 23:32:56
FTP para subir archivos al servidor en DELPHI y me sirva para lazarus = koiji Delphi para la web 2 05-02-2013 16:52:06
Mi primera aplicacion en lazarus/osx ;) mamcx Lazarus, FreePascal, Kylix, etc. 1 18-03-2010 10:32:33
Migrar Aplicacion Lazarus De Ubuntu A Windows volv87 Lazarus, FreePascal, Kylix, etc. 4 26-07-2007 09:03:07
[Lazarus]Aplicacion que no visualizan correctamenta labels en ubuntu dapper Pascalizado Linux 2 11-09-2006 13:17:51


La franja horaria es GMT +2. Ahora son las 15:11:34.


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
Copyright 1996-2007 Club Delphi