AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

mit XE7 erstellte App stürzt ab

Ein Thema von schand99 · begonnen am 9. Mär 2015 · letzter Beitrag vom 10. Mär 2015
Antwort Antwort
schand99

Registriert seit: 7. Nov 2013
Ort: Südtirol
43 Beiträge
 
Delphi XE8 Enterprise
 
#1

mit XE7 erstellte App stürzt ab

  Alt 9. Mär 2015, 16:01
Eine Frage an die Experten:

in einer App verwende ich JLocation zur Bestimmung der GPS-Position des Smartphones. Dies da die Ortungsfunktion des Betriebssystems selbst wesentlich weniger Strom verbraucht als die in Delphi verfügbare Positionsbestimmung.
Eine kleine Anleitung zur Verwendung der der Ortungsfunktionen des Betriebssystems habe ich hier gefunden: http://www.fmxexpress.com/directly-a...ey-on-android/

Leider stürzt die App aber immer wieder und aus für mich nicht erklärbaren Gründen genau in dem Ereignis ab, das die Java-Klasse auslöst
Delphi-Quellcode:
procedure TStartup.onLocationChanged(location: JLocation);
  Var
  WebStr, VRet : String;
begin
  Try
     GPSPosX:=location.getLongitude;
  except
     GPSPosX:=0;
  End;
  Try
     GPSPosY:=location.getLatitude;
  except
     GPSPosY:=0;
  End;
  if (GPSPosX<>0) and (GPSPosY<>0) then
  Begin
     GPSInfoLabel.Text:='GPS ok';
     GPSInfoLabel.Visible:=True;
  End;
end;
Hat jemand von Euch einen Tipp wie ich den Absturz in dieser Prozedur verhindern kann?

vielen Dank,
Andreas
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.454 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: mit XE7 erstellte App stürzt ab

  Alt 9. Mär 2015, 16:04
Prüf mal, ob das, was Du bekommst, auch zugewiesen (<> NIL) ist.
Und dann schaue, ob Du vielleicht aus einem Thread heraus aufgerufen wirst und Zugriffe auf die UI eventuell mit Synchronize() behandeln musst.
Und dann schaue, ob Dein Event vielleicht mehrfach "gleichzeitig" aufgerufen werden kann. Dann müsstest Du das z.B. über eine CriticalSection absichern.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.328 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: mit XE7 erstellte App stürzt ab

  Alt 9. Mär 2015, 16:42
Und dann stelle auch sicher, dass Du die Sensorenfunktionen nur auf dem Gerät nutzt. Der Simulator unterstützt diese nämlich nicht.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.454 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: mit XE7 erstellte App stürzt ab

  Alt 9. Mär 2015, 16:50
Und wirf doch mal einen Blick in die Geräte-Konsole. Android ist ja gerade bei Exceptions recht geschwätzig. Oft genug kommt dabei ein wertvoller Hinweis für die Fehlerursache heraus.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
schand99

Registriert seit: 7. Nov 2013
Ort: Südtirol
43 Beiträge
 
Delphi XE8 Enterprise
 
#5

AW: mit XE7 erstellte App stürzt ab

  Alt 9. Mär 2015, 18:44
Danke für die vielen Tipps.
Die Überprüfung ob location.getLongitude und .getLatitude nicht leer sind scheint eine Verbesserung gebracht zu haben. Es sieht so aus als ob die App nicht mehr so häufig abstürzen würde. Und wenn es dann doch passiert, dann erscheint "app wurde beendet" nicht mehr, sondern sie wird kommentarlos geschlossen. Ich deute das als Anzeichen dass der Fehler schön langsam eingekreist wird.
Muss auf wärmere Tage warten und mich mit dem Entwickler-PC in eine Wiese setzen. Es ist ganz schön lästig immer am PC was zu tippen und dann mit dem Smartphone ins Freie zu laufen und auf ein GPS-Signal zu warten
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
16.863 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: mit XE7 erstellte App stürzt ab

  Alt 9. Mär 2015, 18:47
Ich kenne jetzt den Wrapper nicht genau, aber da in Java auch ein String ein Object darstellt kann dieser auch null/nil sein.
Wenn der Wrapper das jetzt nicht richtig auf einen Leerstring mappt kannst du da schöne Fehler bekommen ...
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#7

AW: mit XE7 erstellte App stürzt ab

  Alt 10. Mär 2015, 08:47
Dies da die Ortungsfunktion des Betriebssystems selbst wesentlich weniger Strom verbraucht als die in Delphi verfügbare Positionsbestimmung.
Ist das echt so? Ist die Delphi Sensor API nicht einfach ein Wrapper um die OS Funktionen? *wunder*
  Mit Zitat antworten Zitat
schand99

Registriert seit: 7. Nov 2013
Ort: Südtirol
43 Beiträge
 
Delphi XE8 Enterprise
 
#8

AW: mit XE7 erstellte App stürzt ab

  Alt 10. Mär 2015, 11:51
Dies da die Ortungsfunktion des Betriebssystems selbst wesentlich weniger Strom verbraucht als die in Delphi verfügbare Positionsbestimmung.
Ist das echt so? Ist die Delphi Sensor API nicht einfach ein Wrapper um die OS Funktionen? *wunder*
Das ist echt so. Geht sogar so weit dass sich ein Xperia Z3 compact bei Einsatz der Delphi XE7 Sensor API spürbar erwärmt und man beinah zusehen kann wie die Akku-Prozentanzeige in die Knie geht.
Verwendet man die in Android integrierte Ortungsfunktion so bleibt das Smartphone kühl und der Stromverbrauch steigt nicht wesentlich an. Dafür stürzt die App aber leider immer wieder ab
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.373 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: mit XE7 erstellte App stürzt ab

  Alt 10. Mär 2015, 14:04
Vielleicht pollt der Delphi-Wrapper zu oft?


Bei meinem Lenovo-Tablet verbraucht deren eigene "Rotationserkennung" massig Strom, selbst wenn der Bildschirm aus ist.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.237 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#10

AW: mit XE7 erstellte App stürzt ab

  Alt 10. Mär 2015, 22:56
bei Android und Delphi ist irgendwie alles mit Sensoren ein kleiner Taschenwärmer und Hilft, wenn der Akku mal schnell leer werden soll ....

Aber das ist bei vielen anderen Apps auch nicht anders

Von Apple mag man halten was man will, seit ich wieder zu iPhone gewechselt habe, habe ich keinen Taschenwärmer mehr .... Z.B. dort muss man nicht pollen bei Sensoren und Positionen, dort kommt ein Callback (Ereigniss). z.B. bei den Wrappern von iCL (TMS)

Geändert von arnof (10. Mär 2015 um 23:00 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +2. Es ist jetzt 19:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf