Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Android Compiler (https://www.delphipraxis.net/176568-android-compiler.html)

CHackbart 13. Sep 2013 18:49

Android Compiler
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

ich habe heute mal die freie Zeit benutzt und mit dem Android Compiler gespielt. Leider bekomme ich nur Segfaults und Debuggen ist eine nervenaufreibende Sache - zumindest auf dem Tablet.
Vielleicht hat ja jemand eine Idee bzw. Lust sich das mal anzusehen. Der Code ist frei und ohne jedwede Lizenz (inklusive mehrerer Memoryleaks, die beim Portieren des ursprünglichen Javacodes entstanden ist) :-D

Christian

Union 13. Sep 2013 20:40

AW: Android Compiler
 
Ohne dproj wird das nix, damit kommt der Resourcen-Compiler nicht klar. Ich habe also ein leeres Projekt mit dem Namen Deiner dpr erzeugt und dann alles wieder bis auf die dproj gelöscht und Deinen Source eingespielt. Dann Platform für die Version und einen Zielemulator ausgewählt und los. Geht. Es kommen allerdings nur 3 ShowMessages ("123", "456", "789") und dann ist Schluß.

Delphi-Quellcode:
UGame.TLevel.getEntities 2147: e := entities[i];
Ich vermute mal das entities[i] ist hier nil.

CHackbart 14. Sep 2013 08:49

AW: Android Compiler
 
Ja, die showmessages habe ich vergessen zu entfernen. Das war gestern der einzige Weg die mögliche Ursache halbwegs einzukreisen. Der Debugger geht irgendwie nicht und ich muss so ein Kontaktformular mit kurzer Fehlerbeschreibung an Embarcadero schicken, da hatte ich gestern keine Lust mehr dazu.

CHackbart 26. Sep 2013 10:25

AW: Android Compiler
 
Liste der Anhänge anzeigen (Anzahl: 1)
So,

ich denke mal ich stelle ein Screenshot hier rein und erkläre was mir beim Spielen mit Android aufgefallen ist.
Das Strings mit dem neuen Nextgen Compiler bei 0 anfangen und nicht bei 1 war mir Anfangs nicht klar. Irgendwo hatte ich das mal gelesen, allerdings wieder vergessen.
Über die automatische Referenzzählung bin ich auch gestolpert, jedoch finde ich das mittlerweile als richtig angenehme Lösung. TList funktioniert auch nicht mehr, allerdings in Form von Generics schon.
Das letzte Problem was ich hatte liegt wahrscheinlich in den Firemonkeyroutinen. Ich hatte zu allererst alles in einem Thread laufen und habe das Spiel über einen Timer bzw. dann via OnIdle aktualisiert. Das Resultat war unter Windows quälend langsam und noch schlimmer war es auf dem Androiden. Erstaunlicherweise habe ich jetzt die komplette Spielelogik in einem separaten Thread laufen und aktualisiere die Bitmap alle 25ms zum rendern auf dem Bildschirm. Das ganze ist komischerweise um mindestens 10x schneller als vorher.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:17 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