Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Sistemas operativos > Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 16-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
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.
Responder Con Cita
  #2  
Antiguo 16-10-2007
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
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.
Responder Con Cita
  #3  
Antiguo 16-10-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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.
Responder Con Cita
  #4  
Antiguo 16-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por Neftali Ver Mensaje
Revisa esto.
Creo que debes pensar en .NET
Ya veo, ¿entonces Delphi 6 no me serviría verdad?
Responder Con Cita
  #5  
Antiguo 16-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Exclamation

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
Después he intentado dos programas más (dos 'hola mundo') uno hecho en Free Pascal y otro hecho bajo Dev-C++ y me sale lo siguiente en ambos:

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.
No se si todos estos compiladores que he usado son incompatibles con Windows CE o es por alguna otra razón que desconozco.

¿Me echais un cable?

Muchas gracias y un saludo.
Responder Con Cita
  #6  
Antiguo 17-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Mira lazarus, tiene una interfaz (personalidad?) para los componentes LCL (los VCL de lazarus) para wince.
¿Entonces si yo me bajo el Lazarus (Lazarus arm-wince crosscompiler installer for windows host) le instalo en Windows XP y hago un programa en mi PC de sobremesa de casa luego lo puedo ejecutar en Windows CE?

Última edición por kakarotv5 fecha: 17-10-2007 a las 00:57:06.
Responder Con Cita
  #7  
Antiguo 17-10-2007
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
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.
Responder Con Cita
  #8  
Antiguo 17-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
Cuenta experiencias si sigues investigando, yo también recién empecé con Lazarus.
Bien así nos ayudamos mútuamente, si lo consigo lo pondré aquí.

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
El caso es que he encontrado dos units Interfaces.pas, una se encuentra en C:\lazarus\lcl\interfaces\carbon y la otra en C:\lazarus\lcl\interfaces\gtk2 por lo que supongo que he de hacer algo para que el compilador las busque donde es debido.

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.
Este otro error no se bien a que se deberá, no he encontrado aun la solución para este otro error, a ver si lo sacamos entre todos.

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.
Responder Con Cita
  #9  
Antiguo 17-10-2007
Nasca Nasca is offline
Miembro
 
Registrado: abr 2007
Ubicación: Almería (España)
Posts: 249
Poder: 18
Nasca Va por buen camino
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.
Responder Con Cita
  #10  
Antiguo 17-10-2007
kakarotv5 kakarotv5 is offline
Miembro
 
Registrado: feb 2007
Posts: 162
Poder: 18
kakarotv5 Va por buen camino
Cita:
Empezado por Nasca Ver Mensaje
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.
He hecho lo que me has dicho y después de compilar unas cuantas units me da los siguientes errores:

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
EDITO: Como dije dos posts más arriba, ya no tengo problemas a la hora de compilar proyectos (aunque si intento compilar las LCL para wince si que me da errores también).

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.
Creo que voy por buen camino puesto que lo que he compilado en teoría sólo debería de funcionar bajo Windows CE y arquitectura arm y no bajo mi Windows XP.

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.
Responder Con Cita
Respuesta



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
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


La franja horaria es GMT +2. Ahora son las 21:12:28.


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