FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Windows CE y Delphi
Hola, me han encargado un proyecto para que funcione bajo Windows CE y me gustaría saber si se puede hacer con Delphi.
¿Es Delphi compatible con Windows CE? Saludos. |
#2
|
|||
|
|||
Mira lazarus, tiene una interfaz (personalidad?) para los componentes LCL (los VCL de lazarus) para wince.
No lo he utilizado con wince, pero si que le voy a sacar partido a la interfaz LCL de gtk1 para empotrar controles de presencia y de costes en viejos equipos con linux. La verdad que en casos como este se ven las ventajas de usar distintas interfaces de Lazarus. Por ahora me tiene gratamente sorprendido aunque también es cierto que le faltan numerosos componentes que lo harían una alternativa real y multiplataforma a Delphi. |
#3
|
||||
|
||||
Revisa esto.
Creo que debes pensar en .NET
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Me he bajado un emulador de Windows CE y he intentado correr en él una aplicación de Delphi 6 (un 'hola mundo') y me sale el siguiente error:
Código:
Fatal Application Error Application Project1.exe has performed an ilegal operation and will be shut down. If the problem persists, contact the program vendor. Program: Project1.exe Exception: 0xC0000005 Address: 6F480D00 Código:
Cannot find 'hola' (or one of its components). Make sure the path and filename are correct and that all the required libraries are available. ¿Me echais un cable? Muchas gracias y un saludo. |
#6
|
|||
|
|||
Cita:
Última edición por kakarotv5 fecha: 17-10-2007 a las 00:57:06. |
#7
|
|||
|
|||
Si lo compilas con la interfaz de LCL wince debe ser así. O eso creo por desgracia no lo he probado.
En linux por ejemplo puedes diseñarlo con Lazarus en gtk1.2 y compilar para que el programa sea qt o gtk2. En windows puede ser win32, wince e incluso qt. Pero eso en teoría. Mira el wiki de lazarus para buscar información útil del estado de cada interfaz. Esta información te puede dar una idea rápida del estado de cada interfaz: http://wiki.lazarus.freepascal.org/Roadmap Aquí información sobre LCL wince: http://wiki.lazarus.freepascal.org/i...s_CE_Interface http://wiki.freepascal.org/index.php/WinCE_port La utilidad real de Lazarus para wince dependerá de la complejidad de tu programa. Y sino ya sabes: .net o java. Ten en cuenta que la interfaz del propio Lazarus no tiene que ser la misma que la de tu programa. Cuenta experiencias si sigues investigando, yo también recién empecé con Lazarus. |
#8
|
|||
|
|||
Cita:
Gracias por la información, creo que estoy cerca de la solución. Me he leído uno de los documentos que me has puesto (Windows CE Interface) y básicamente lo que hay que hacer para que funcione es (hay dos maneras esta y otra manual más complicada): 1º Bajarse el Lazarus e instalarlo. 2º Bajarse el add-on para Windows CE e instalarlo. 3º Cambiar las siguientes opciones del compilador (desde Proyecto/Opciones del Compilador): * Widget set (desde la pestaña Rutas de Proyecto/Opciones del Compilador) * Target OS (desde la pestaña Código de Proyecto/Opciones del Compilador) * Target CPU (desde la pestaña Código de Proyecto/Opciones del Compilador) Aquí es donde tengo problemas, en Widget set si elijo elijo cualquier opción que no sea por defecto (win32) y luego intento compilar me sale el siguiente error: Código:
project1.lpr(6,28) Fatal: Can´t find unit Interfaces EDITO: He encontrado la solución a este problema en un blog, para que funcione correctamente hay que poner en Other Units Files (-Fu) (Delimiter is semicolon): lo siguiente: $(LazarusDir)\lcl\interfaces\$(TargetOS)\ Después si cambio Target OS o Target CPU por algún valor que no sea (Por defecto) y doy a aceptar me sale el siguiente diálogo de error: Código:
Error The system.ppu was not found in the FPC directories. Make sure fpc is installed corectly and the fpc.cfg points to the right directory. El caso es que he encontrado dos archivos system.ppu, uno se encuentra en C:\lazarus\fpc\2.0.4\units\i386-win32\rtl y el otro en C:\lazarus\fpc\2.2.1\units\arm-wince\rtl por lo que supongo que he de hacer algo para que el compilador le busque donde es debido. ¿Sabeis como solucionar esto? EDITO: Al final solucioné el error, era porque las versiones FPC (Free Pascal) eran diferentes, las versiones de FPC del instalador de Lazarus y la versión del add-on han de ser iguales. También hay que cambiar la Ruta de compilador (ppc386.exe) c:\lazarus\fpc\2.2.1\bin\i386-win32\fpc.exe (desde Entorno / Opciones del Entorno ...) por esta C:\lazarus\fpc\2.2.1\bin\i386-win32\ppcrossarm.exe Aun así no me funciona ningún programa que haga bajo el emulador de Windows CE Version 5.3.0.26. Saludos y gracias de antemano, espero vuestra ayuda. Última edición por kakarotv5 fecha: 18-10-2007 a las 16:15:00. |
#9
|
|||
|
|||
Creo que tienes que compilar las librerías wince. Si ves como se activan las qt en linux puede darte una idea, pero por si suena la flauta.
Entorno -> Configure "Build Lazarus" Selecciona wince pon Construir LCL a Clean + Build y el resto de opciones (para compilar el entorno) a None. Construye y esto debe haberte compilado las LCL para wince. Yo al menos fue así como compilé el soporte de LCL para qt. |
#10
|
|||
|
|||
Cita:
Código:
C:\lazarus\lcl\interfaces\wince\WinCEWinAPIEmu.pp(234,54) Error: Call by var parameters have to match exactly: Got "LPRECT" expected "RECT" C:\lazarus\lcl\interfaces\wince\WinCEWinAPIEmu.pp(304,72) Error: Call by var parameters have to match exactly: Got "Pointer" expected "SIZE" C:\lazarus\lcl\interfaces\wince\WinCEWinAPIEmu.pp(454) Fatal: There were 2 errors compiling module, stopping Ahora os pregunto una cosa, yo compilo un programa (un simple formulario en blanco) con las siguientes opciones del compilador: Tipo de Widget LCL (various): wince OS objetivo: (-T): WinCE CPU objetivo: (-P): arm ¿Es normal que si yo ejecuto desde Windows XP el programa que he compilado me salga el siguiente error? Código:
C:\lazarus\Proyectos\project1.exe no es una aplicación Win32 válida. EDITO: Pues si que estaba en lo cierto. ¡Lo conseguí por fin! Me bajé el Microsoft Windows Mobile 5.0 MSFP Emulator Images y he podido ejecutar mi programa compilado en Windows XP. Con el emulador Microsoft Windows CE 5.0 no he conseguido que funcione pero me doy por satisfecho. Por cierto sólo un formulario en blanco ya ocupa 10 MB, qué pasada, por ahora es la única pega que le veo pero menos da una piedra. Ahora sólo me queda la duda, ¿tendrá Lazarus muchas limitaciones para llevar a cabo mi tarea (con que fuera igual que Delphi me conformaría)? Gracias a todos por ayudarme y espero que este post le sirva a alguien. Un saludo. Última edición por kakarotv5 fecha: 18-10-2007 a las 00:53:28. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Delphi 7 Windows Xp | rinaib | Conexión con bases de datos | 2 | 14-02-2007 03:50:35 |
Delphi 7 con Windows XP 64 | zerelho | Varios | 3 | 10-05-2006 05:21:02 |
Delphi y Windows CE | espart | Varios | 3 | 25-11-2005 01:41:13 |
Delphi 5 y Windows XP | trex2000 | Varios | 5 | 08-06-2004 17:57:06 |
Delphi 6 y Windows XP | esocrates | Varios | 4 | 28-01-2004 18:39:06 |
|