Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Application läuft nicht auf WinMobile 6.1 Pro (https://www.delphipraxis.net/128208-application-laeuft-nicht-auf-winmobile-6-1-pro.html)

torud 26. Jan 2009 10:32


Application läuft nicht auf WinMobile 6.1 Pro
 
Hallo Wissende,

ich habe mit Lazarus eine kleine Testapplikation geschrieben, um zu sehen, wie sie auf meinem Handy aussieht. Lazarus liegt in der Version 0.9.24 vor. Auf meinem Laptop läuft die RiesenEXE. Warum meldet mir Windows Mobile also, dass die kopierte Exe kein für ein PoketPC geeignetes Programm ist?

Hier mal der SourceCode des Programms:

Delphi-Quellcode:
unit frm_main;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, ExtCtrls,
  StdCtrls, DbCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    RadioGroup1: TRadioGroup;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.FormCreate(Sender: TObject);
begin
     with RadioGroup1 do
          begin
             Caption:= 'Von welchem Land ist Zagreb die Hauptstadt?';
             Items.Add('Deutschland');
             Items.Add('Kroatien');
             Items.Add('Slovenien');
          end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  if RadioGroup1.ItemIndex = 1 then
   ShowMessage('richtig')
  else
   ShowMessage('falsch');
end;

initialization
  {$I frm_main.lrs}

end.

Clemens L. 26. Jan 2009 10:35

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Du musst dir die CrossCompile Pakete für WinCE besorgen, und die Anwendung extra für Windows Mobile kompilieren.

:hi:

Bernhard Geyer 26. Jan 2009 10:40

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Windows Mobile hat nicht viel mit "normalen" Widows gemeinsam. Weder die API's noch die Prozesorarchitektur.

Clemens L. 26. Jan 2009 10:58

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Viele Standard API's sind gleich, natürlich haben beide Systeme auch eigene API's. Allerdings lässt sich Code mit Lazarus oft ohne Änderungen auch für Windows Mobile kompillieren, auch wenn man auf Windows API's zugreift.

Natürlich haben sie eine andere Prozessorarchitektur, das ist ja auch einer der Gründe warum man überhaupt neu kompillieren muss.

:hi:

matashen 26. Jan 2009 12:02

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Dabei gilt auch zu beachten, das PocketPCs meist einen ARM Prozessor und keinen x86 haben.
Andere Architektur=anderer Mikrocode = exe nicht Lauffähig.

Also beim Crosscompilen auch aufpassen das die Richtige Prozessorplattform eingestellt ist.

Gruß Matthias

generic 26. Jan 2009 12:17

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Ist die VCL aus dem Freepascal Windows Mobile kompatibel?

matashen 26. Jan 2009 15:10

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Jein,

für WinCE ist noch nicht alles portiert,

ich denke aber die Lazarus Leute freuds wenn sich da jemand einbringt.

Acteullen Status gibts

hier

Für die Projekte die ich bisher gemacht habe, hatte ich alles nötige. Ein paar API-Aufrufe musste ich wegen WLAN-Verbindung machen, aber dis war auch nicht die Welt.

Gruß Matthias

torud 18. Apr 2009 15:20

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Zitat:

Zitat von matashen
Dabei gilt auch zu beachten, das PocketPCs meist einen ARM Prozessor und keinen x86 haben.
Andere Architektur=anderer Mikrocode = exe nicht Lauffähig.

Also beim Crosscompilen auch aufpassen das die Richtige Prozessorplattform eingestellt ist.

Gruß Matthias

Wo kann ich denn weiterführende Hilfe zu diesem Thema finden? Ich habe keine Ahnung was ich mir wo herunterladen soll und wo ich was einzustellen habe, damit es funktioniert.

Schade, dass es keine fertige Installationsroutine gibt, wo man einfach seine Umgebung auswählen kann und im Hintergrund alles eingestellt wird...Oder gibts sowas?

JamesTKirk 19. Apr 2009 12:49

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Zitat:

Zitat von torud
Schade, dass es keine fertige Installationsroutine gibt, wo man einfach seine Umgebung auswählen kann und im Hintergrund alles eingestellt wird...Oder gibts sowas?

Doch, die gibt es. Zumindest für Lazarus >= 0.9.26. Lade dir hier Lazarus für Windows und für WinCE (cross-compiler) runter und installier beides (ich weiß jetzt allerdings nicht, wie sich das mit einem bereits installiertem 0.9.24 verträgt :? ). Ich sehe gerade, dass es unter 0.9.24 auch einen WinCE-Installer gibt, allerdings wurden seit dieser Version einige Bugs gefixt - ich empfehle also eine Aktualisierung :mrgreen:

Ist alles installiert, musst du in den Compilereinstellungen unter 'Pfade' die 'LCL-Schnittstelle' auf 'WinCE' umstellen und bei 'Quelltext' das 'Zielbetriebssystem' ebenfalls, sowie die 'Ziel-CPU' auf 'ARM'. Dann einfach kompilieren, auf den Pocket-PC jagen und rumspielen.

Bzgl Dateigröße (was vorwiegend die Debuginfos sind) musst du unter Linken 'Zeilennummern (...) anzeigen' aus- und 'Debuggersymbole (...) entfernen' einschalten. Zudem kannst du auch noch das Smartlinking einschalten (dabei die Checkbox 'Smartlinkbar' unter Quelltext nicht vergessen. ;)

Gruß,
Sven

torud 19. Apr 2009 13:10

Re: Application läuft nicht auf WinMobile 6.1 Pro
 
Genau das war es. Nun läufts. Jetzt muss ich mir nur noch Hilfe zum Thema zu grosse EXE-Dateien suchen. :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:04 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz