![]() |
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. |
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: |
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.
|
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: |
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 |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Ist die VCL aus dem Freepascal Windows Mobile kompatibel?
|
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 ![]() 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 |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Zitat:
Schade, dass es keine fertige Installationsroutine gibt, wo man einfach seine Umgebung auswählen kann und im Hintergrund alles eingestellt wird...Oder gibts sowas? |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Zitat:
![]() 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 |
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. :)
|
Re: Application läuft nicht auf WinMobile 6.1 Pro
Ich hab das WE ein Tool gefunden der die exen packt ohne was raus zu schmeissen, ich seh mir das heut Abend mal an und Posts dann hier rein.
Gruß Matthias |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Cool. Da bin ich ja mal gespannt...Ich habe zwar auch gesehen, dass es über/für Lazarus diverse Portale gibt, aber da die Steps zum Minimieren der Größe der Exe-Datei nur kurz umrissen werden und mit Fachbegriffen nur so gespickt sind, nützzt mir selbst mein eigentlich gutes Englisch nur wenig.
Grundessenz der Tipps ist eigentlich, Schalter am Compiler zu ändern, respektive die Units zu entfernen, die man nicht braucht...Das wiederum benötigt eigentlich etwas an Erfahrung... Eigentlich wollte ich mir mit dem zu erstellenden Tool Daten aus meiner mySql-Datenbank über einen HTTP-Post holen, aber so wie das bisher überblicke, ist da noch keine Komponente, mit der man das komfortabel machen könnte. Irre ich!? (Ja ja, ich weiß, neue Frage neuer Thread) |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Ne ich hab auf einem treffen in Paris nen Programmierer aus Belgien getroffen, und der hat mir ein progrämmchen gezeigt da musst du deine erzeugte exe nur drauf ziehen und die Exe schrumpft dann auf 20% zusammen. gezeigt hat er mirs mit einer 1MB exe und die war dann nur noch 200KB groß ohne Einschränkungen der Porgramm funktionalität. Aber wie gesagt ich muss mir den Stuff heut erst noch durchsehen. Hab da ne ganze Menge an Zeuch bekommen und das will ich erstmal durchgucken.
Ich meld mich hier dann Gruß Matthias |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Du meinst nicht UPX, oder?
|
Re: Application läuft nicht auf WinMobile 6.1 Pro
Ja ich glaub so heists
|
Re: Application läuft nicht auf WinMobile 6.1 Pro
|
Re: Application läuft nicht auf WinMobile 6.1 Pro
ja allerdings,
man lernt nie aus, obwohl der Thread schon 5 Jahre auf dem Buckel hat. Ich muss aber sagen das Speichermanagement ist mir piep wenn ich nur eine Anwendung auf nem Pocket grad am laufen hab, ists mir wichtiger das der Transfer zum PDA übers WLAN nicht ewig dauert. Hab grad getestet. Eine EXE was mit LAZARUS 10MB hat habe ich auf 3MB stauchen können und das ist dann wesentlich fixer zu übertragen. Das finetuning von Lazarus für kleinere Dateien ist mit sicherheit Sinnvoller, aber da hab ich nicht den Nerv dazu Stundenlang rumzubasteln bis das passt. Wird zeit das das Lazarusteam da ein einfaches Tool macht was das automatisiert. Gruß Matthias |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Die Übertragung erfolgt aber im Idealfall nur einmal. Dafür wird das Programm später häufig auf dem PDA gestartet. Jedesmal wird vor dem Programmstart das Programm entpackt (zusätzliche Zeit) und belegt am Ende im Speicher mehr Platz als die ungepackte Variante. Und genau diese beiden Faktoren(Zeit/CPU und freier Arbeitsspeicher) sind doch bei einen PDA noch kritisch zu betrachten, oder?
|
Re: Application läuft nicht auf WinMobile 6.1 Pro
Ich hatte das in meinem Post oben zwar schon erwähnt, aber hier die entscheidende Stelle noch einmal:
Zitat:
Der Größenunterschied ist dann übrigens zwischen 9 und 10 MB! Grüße, Sven |
Re: Application läuft nicht auf WinMobile 6.1 Pro
Nur bei mir funzt das nicht, hab aber noch ne alte 0.9.1.17 Version,
jetzt wirds aber off-topic... ich mach da bei Bedarf dann nochma nen Thread auf - ist besser. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:12 Uhr. |
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