Categoría howto

  • INSTALACIÓN:

    Primero hemos de descargar la siguiente versión de Lazarus:

    Lazarus-0.9.23-fpc-2.1.5-20070716-win32.exe

    La instalamos en c:\lazarus

    Nos descargamos también la siguiente versión de cross-arm-wince:

    Lazarus-0.9.23-fpc-2.1.5-20070823-cross-arm-wince-win32.exe

    y la instalamos también en el mismo directorio que el anterior.

    Nos descargamos la librería sqlite3.dll para Win32 y la ponemos en C:\Windows\system32
    Nota: Podemos descargar la librería ya compilada o descargar los fuentes en C y compilarla por nuestros medios con el Dev-C++ 4.9.9.2 por ejemplo.

    Nos descargamos también la librería sqlite3.dll para WinCE (más tarde deberá de ponerse en la carpeta en la que esté el ejecutable de nuestra aplicación). Al igual que en el caso anterior podemos compilar los fuentes en C y obtener dicha librería.

    Abrimos Lazarus, vamos a Componentes/ Abrir Archivo de paquete (.lpk) ... y seleccionamos el archivo C:\lazarus\components\sqlite\sqlite3laz.lpk

    Hacemos click en Instalar, esto hará que se instale el paquete necesario para utilizar SQLite, se recontruirá Lazarus, este se cerrará y se volverá a abrir (si no se ha puesto el archivo sqlite3.dll para Win32 en la carpeta C:\Windows\system32 Lazarus no se abrirá).

    Una vez hecho esto ya tenemos todo lo necesario para compilar una aplicación para WinCE. Pero antes hemos de configurar Lazarus para tal cometido.

    CONFIGURACIÓN:

    Vamos a Proyecto/ Opciones del Compilador ...:

    Primero en la pestaña Rutas:

    En Other Unit Files (-Fu) (Delimiter is semicolon) ponemos lo siguiente:

    $(LazarusDir)\lcl\interfaces\$(TargetOS)\

    Esto hará que el compilador encuentre la unidad interfaces.pp

    En el desplegable Tipo de Widget LCL (various) seleccionamos wince

    daniwince01.jpg

    Después en la pestaña Código:

    En el panel Target Platform:

    En el desplegable OS objetivo: (-T) seleccionamos WinCE

    En el desplegable CPU objetivo: (-P) seleccionamos arm

    daniwince02.jpg

    Una vez hecho esto podemos guardar esta configuración para no volver en un futuro a tener que cambiar los valores a mano. Pulsamos en Cargar/Guardar y hacemos clic en Save to file. Una vez que hayamos guardado la configuración hacemos clic en Aceptar.

    Aun no hemos acabado de configurar Lazarus para que pueda compilar para WinCE, vamos a Entorno/ Opciones del Entorno y en Ruta del compilador (ppc386.exe) cambiamos:

    c:\lazarus\fpc\2.1.5\bin\i386-win32\fpc.exe

    por

    c:\lazarus\fpc\2.1.5\bin\i386-win32\ppcrossarm.exe

    daniwince03.jpg

    Ahora hemos de construir el LCL de Lazarus para WinCE, para ello vamos a Herramientas/ Configure “Build Lazarus” ... seleccionamos wince en Interfaz LCL y ponemos todas las partes a None excepto LCL que la ponemos a Clean+Build y hacemos clic en Construir.

    Una vez hecho esto ya estamos en disposición de poder compilar una aplicación realizada en Lazarus y con SQLite como motor de bases de datos.

    Creamos el código de la aplicación en Object Pascal y la compilamos (Ctrl + F9), una vez hecho esto hemos de añadir el archivo sqlite3.dll para WinCE a la carpeta en la que se encuentre el ejecutable de nuestra aplicación y si todo ha ido bien podremos ejecutar nuestro programa en nuestra Pocket PC o en el emulador de Windows Mobile.

    Una de las cosas que nos llaman la atención nada más empezar a ver resultados es el tamaño del ejecutable que obtenemos al compilar, aproximadamente 10 MB por un formulario vacío. Puede que en Win32 esto nos de igual pero en Pocket PC es importante que el tamaño de la aplicación sea lo menor posible.

    He encontrado dos caminos para paliar este problema, uno de ellos es configurando las opciones del compilador (Proyecto/ Opciones del Compilador .../ Código/ Generar/ Código pequeño (-Og)) y luego desde la línea de comandos utilizar el comando strip:

    strip

    y otro camino factible es usando una librería expresamente diseñada para crear aplicaciones para WinCE, esta librería es KOL-CE.

    INSTALACIÓN DE KOL_CE:

    Descargamos el archivo kol-ce-2.80.zip lo descomprimimos y lo almacenamos en la carpeta c:\lazarus\components\

    Abrimos Lazarus, vamos a Componentes/ Abrir Archivo de paquete (.lpk) ... y seleccionamos el archivo C:\lazarus\components\kol-ce-2.80\mck\MirrorKOLPackage.lpk

    Hacemos click en Instalar, esto hará que se instale el paquete necesario para utilizar KOL-CE, se recontruirá Lazarus, este se cerrará y se volverá a abrir.

    Una vez hecho esto ya tenemos todo lo necesario para compilar una aplicación con los componentes de KOL-CE.

    Veremos los siguientes componentes:

    daniwince04.jpg

    CREANDO UN PROYECTO:

    Para crear un proyecto con estos componentes no se hace del modo usual.

    Primero hemos de crear una aplicación nueva y guardarla en un directorio. Una vez hecho esto ya podemos arrastrar el componente TKOLProject en el formulario, nos vamos a sus propiedades y en la propiedad ProjectDest ponemos el nombre que queramos que tenga nuestra aplicación, por ejemplo prueba.

    Arrastramos el componente TKOLForm en el formulario guardamos todo y cerramos.

    Ahora hacemos clic en Archivo/ Abrir y miramos dentro de la carpeta en la que guardamos antes el proyecto veremos que se han creado más archivos, elegimos abrir prueba.lpi y ahora si, ya podemos trabajar normalmente.

    Si probamos a compilar la aplicación para WinCE obtendremos el siguiente mensaje de error:

    C:\lazarus\components\kol\KOL.PAS(57901) Error: Error while linking

    Esto es porque Lazarus no encuentra la variable de entorno en la que se encuentra el compilador, para subsanar esto hemos de declarar una variable de entorno en nuestro sistema.

    Hacemos clic derecho en MI PC/ Propiedades/ Opciones Avanzadas/ Variables de entorno y en Variables de usuario hacemos clic en Nueva y ponemos lo siguiente:
    En Nombre de variable ponemos: PATH
    En Valor de variable ponemos: C:\lazarus\fpc\2.1.5\bin\i386-win32\ (que es la ruta en la que se encuentran los compiladores)

    daniwince05.jpg

    Una vez hecho esto ya podemos compilar aplicaciones con los componentes de KOL-CE y con las funciones del motor de base de datos de SQLite.

    Comentarios: 17
  • En esta entrada se trata como llegar a tener nuestro propio fpc para arm-wince desde SVN y poderlo usar en lazarus.

    Como va siendo habitual no se va a tratar nada que no este en el articulo WinCE port o en el articulo Windows CE Interface del wiki de lazarus.

    Comentarios: 0
  • Con este articulo sabras como integrar la documentacion HTML existente sobre la  Run-Time Library (RTL) , la Free Component Library (FCL) y la Lazarus Component Library (LCL) en Lazarus.

    Primero que nada nos bajamos el archivo ftp://ftp.freepascal.org/pub/fpc/dist/docs-2.2.2/doc-html.zip y lo descomprimiremos en el directorio $LAZARUS_DIR/docs/offline que previamente hemos creado.

    A esa documentacion le falta la referente a la LCL con lo que tenemos varias opciones para obtenerla.

    Comentarios: 4
  • Desde picandocodigo.net se hace una muy buena introduccion y resumen sobre el control de versiones Subversion, te servira tanto para iniciarte como para refrescar la mente ;)

    Comentarios: 0
  • Estuve probando con la documentacion oficial de MySQL sobre la replicacion y algo me dejaba ya que no me acababa de funcionar cuando me tope con el siguiente articulo que me funciono a la primera, tenia que compartirlo... ;)

    http://aciddrop.com/2008/01/10/step-by-step-how-to-setup-mysql-database-replication/

    Comentarios: 0
  • Gracias a un proyecto que llevo entre manos tenia que reciclar mis conocimientos con jQuery y por ello me encontre buscando por internet un tutorial que me pudiera ayudar. Que grata fue mi sopresa al encontrarme con videotutoriales.com y su curso de jQuery.

    Comentarios: 0
  • En linux es facil localizar en archivo de configuracion para que subversion trabaje a traves de un proxy HTTP (solo hay que olisquear por /etc y acabas encontrando /etc/subversion/servers). En Windows no fue una tarea tan facil, al menos para mi, asi que aqui os dejo la receta que no recuerdo de donde la saque.

    Creais un archivo .reg con este contenido y lo configuramos para nuestra necesidad.

    [sourcecode language="plain"]

    REGEDIT4

    [HKEY_LOCAL_MACHINE\Software\Tigris.org\Subversion\Servers\groups]

    Comentarios: 0
  • Gracias a la asignatura "Ampliacion de Sistemas Operativos" tendre que modificar un kernel de un pequeño sistema operativo que esta, como era de suponer, programado en C.
    Os dejo el link al manual de ANSI C que nos ha pasado el consultor por que me parece muy bueno tanto como para refrescar memoria como para empezar desde 0.
    En fin, aqui os lo dejo. Que aproveche!

    Comentarios: 0
  • ¿Que nos proponemos hacer?
    Un Base de datos SQL portable que pueda funcionar en "cualquier" Windows ( estamos hablando de w2k parriba ) sin tener que instalar nada y tener las herramientas para acceder a ella tambien sin ninguna instalacion.

    A mas de uno le parecera una estupidez pero como se me ocurrio para solventar un problema y encima funciono facilmente voy a explicar que hice :D

    Comentarios: 9
  • Despues de un tiempo sin postear, debido a un subidon de curro combinado con el inicio del nuevo cuatrimestre de la UOC, vuelvo con 3 tutoriales para empezar la inmersion en el mundo java.
    Como ya comente en algun post anterior no era un lenguaje digno de mi agrado debido a su "lentitud" pero bueno, es el lenguaje que se usa actualmente en la docencia y como se suele decir "el saber no ocupa lugar" ;P
    Despues de este preambulo aqui van los tutoriales:

    Comentarios: 0
  • Buscando informacion sobre wxPython me tope con ShowMeDo (We hope this site will become a portal for videos demonstrating how to do those things best demonstrated audio-visually. For want of a better word we're going to call these videos ShowMeDos for now.)
    Con la agradable sorpresa con una seccion dedicada a videos sobre Python con distintas subsecciones:

    Comentarios: 0
  • No se si alguna vez comente mi interes hacia PyQT gracias a sendos articulos de bulma.net ( Tutorial de desarrollo de aplicaciones con interfaz grafica en Python y Qt (PyQt) I y II )

    Comentarios: 4
  • Como siempre me suelo olvidar...

    export DISPLAY=":0.0"
    xhost +localhost
    xclock &

    Thanks Lero! :*

    Comentarios: 0
  • El problema de este montaje es minimo a nivel de codigo pero como me ha hecho perder demasiado tiempo para hacer cuadrar los pines aqui dejo la relacion entre el arduino mega y el keypad en cuestion.

    Comentarios: 0