AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Segmentation fault (11) bei Android-App
Thema durchsuchen
Ansicht
Themen-Optionen

Segmentation fault (11) bei Android-App

Ein Thema von sko1 · begonnen am 16. Jan 2018 · letzter Beitrag vom 17. Jan 2018
Antwort Antwort
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

Segmentation fault (11) bei Android-App

  Alt 16. Jan 2018, 09:26
Hallo,

ich komme nicht weiter, folgender Hintergrund:
In einer Android-App gibt es nur das Hauptformular, alle anderen sind nur als verfügbar im Projekt und werden bei Bedarf erzeugt und wieder zerstört.
Unter Windows absolut keine Probleme, auf einem Samsung Tab 6A allerdings funktioniert die erste Erzeugung immer, weitere Aufrufe (meist schon der zweite, aber auch erst beim 5. Mal bringt das Create des Unterformulars einen Segment fault (11) und ich komme beim Debuggen nicht an die Stelle wo es eigentlich knallt!

Hier noch ein paar Codeschnipsel:

Delphi-Quellcode:
//Hauptformular erzeugt Unterformular:
          Unterform := TUnterform.create(Nil);
          UnterForm.visible := True;
          //damit das Unterform weiß woher es erzeugt wurde
          UnterForm.FormBack := FormMain;
          self.visible := false;

//und im Unterform das Erzeugen und zerstören:
...
var
FormBack : TForm;
...
procedure TFormMaterial.FormCreate(Sender: TObject);
begin
  ....
end;

procedure TUnterForm.FormDestroy(Sender: TObject);
begin
  FormBack.visible := true;
  FormBack.Activate;
end;

procedure TUnterForm.FormKeyUp(Sender: TObject; var Key: Word;
  var KeyChar: Char; Shift: TShiftState);
begin
  if Key = vkHardwareBack then
  begin
    Key := 0;
    back();
  end;
end;

procedure TUnterForm.back();
begin
  self.Close;
end;

Hat jemand eine Idee wo ich ansetzen könnte?

Ciao
Stefan
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Segmentation fault (11) bei Android-App

  Alt 17. Jan 2018, 06:11
Hallo,

nach langem "Spielen" habe ich jetzt eine Vermutung:
Kann es sein dass unter Android das .Free oder .DisposeOf von im Code erzeugten Komponenten irgendwie verzögert ausgeführt wird?

Erzeuge ich mein Form ganz schnell hintereinander knallt es bereits beim zweiten Mal, lasse ich viel Zeit vergehen geht es auch mehrfach...

Ciao
Stefan
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#3

AW: Segmentation fault (11) bei Android-App

  Alt 17. Jan 2018, 06:44
Der Mobile ARC-Compiler verursacht ja das ganze Desaster und die nicht ideale Umsetzung vom Emba, so das Tricksereien mit Free/DisposeOf evtl. nötig werden.
http://www.delphipraxis.net/187990-p...unter-ios.html
http://www.delphipraxis.net/192714-a...entfernen.html
Desktop und Mobile sind zwei Welten, wo man sich ganz vorsichtig hintasten muss.

Unter Desktop macht Free "DisposeOf", unter Mobile macht Free "nichts"

Da gibt es aber schon einige Threads hier und im Netz, such mal nach ARC, Free, DisposeOf.

Rollo
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
577 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#4

AW: Segmentation fault (11) bei Android-App

  Alt 17. Jan 2018, 09:10
Danke für die Antwort, dann bin ich ja auf dem richtigen Weg und muss wahrscheinlich das Projekt daraufhin etwas aufräumen...

Ciao
Stefan
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
3.908 Beiträge
 
Delphi 12 Athens
 
#5

AW: Segmentation fault (11) bei Android-App

  Alt 17. Jan 2018, 09:17
Es gibt übrigens noch ein relativ Neues Buch zu dem ganzen Thema, steht noch auf meiner Agenda ...

Rollo
  Mit Zitat antworten Zitat
Antwort Antwort


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 +1. Es ist jetzt 16:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz