AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Beim Beenden der App erscheint: Project1 Angehalten
Thema durchsuchen
Ansicht
Themen-Optionen

Beim Beenden der App erscheint: Project1 Angehalten

Ein Thema von gee21 · begonnen am 4. Jun 2014 · letzter Beitrag vom 7. Jul 2014
Antwort Antwort
Seite 1 von 2  1 2      
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#1

Beim Beenden der App erscheint: Project1 Angehalten

  Alt 4. Jun 2014, 22:16
Hallo

Habe meine erste Android App geschrieben. Eigentlich funktioniert auch alles tiptop. Aber wenn ich die App beende (Also mit dem "Zurück Pfeil") kommt immer die Meldung: "Project1 angehalten".

Weiss jemand was ich machen muss, damit diese Meldung beim beenden der App nicht erscheint?
Robert
  Mit Zitat antworten Zitat
Benutzerbild von juergen
juergen

Registriert seit: 10. Jan 2005
Ort: Bönen
1.174 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 4. Jun 2014, 22:28
Hallo,

die Frage wird dir so keiner beantworten können. Da hilft nur

Passiert das in Delphi auch und wo landet dann der Debugger?
Steht evtl.etwas in dem Close-Event was dann knallt?
Werden alle Objekte/ Listen usw. richtig frei gegeben?
Verwendest du eine Datenbank?

Du siehst, ohne genauere Infos kann man eine solch pauschale Frage nicht beantworten.
Jürgen
Indes sie forschten, röntgten, filmten, funkten, entstand von selbst die köstlichste Erfindung: der Umweg als die kürzeste Verbindung zwischen zwei Punkten. (Erich Kästner)
  Mit Zitat antworten Zitat
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 4. Jun 2014, 22:45
Hallo Juergen

Danke für die Antwort.

Also im onClose habe ich nichts drinn.

Im Delphi Android Emualtor funktioniert meine App leider nicht. Daher starte ich sie immer direkt auf meinem Handy (Galaxy S3).


Da es eine recht simple App ist, hier mein Code:

Delphi-Quellcode:
unit TabbedTemplate;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Graphics, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.TabControl,
  FMX.StdCtrls, FMX.Gestures, FMX.Edit, IdIOHandler, IdIOHandlerSocket,
  IdIOHandlerStack, IdSSL, IdSSLOpenSSL, IdBaseComponent, IdComponent,
  IdTCPConnection, IdTCPClient, IdExplicitTLSClientServerBase, IdFTP,
  FMX.Layouts, FMX.ListBox, FMX.Memo, FMX.Objects;

type
  TTabbedForm = class(TForm)
    HeaderToolBar: TToolBar;
    ToolBarLabel: TLabel;
    TabControl1: TTabControl;
    TabItem1: TTabItem;
    TabItem2: TTabItem;
    GestureManager1: TGestureManager;
    Edit1: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Edit2: TEdit;
    CheckBox2: TCheckBox;
    Edit3: TEdit;
    Label3: TLabel;
    CheckBox3: TCheckBox;
    CheckBox4: TCheckBox;
    CheckBox1: TCheckBox;
    SpeedButton2: TSpeedButton;
    ListBox1: TListBox;
    IdFTP1: TIdFTP;
    IdSSLIOHandlerSocketOpenSSL1: TIdSSLIOHandlerSocketOpenSSL;
    ProgressBar1: TProgressBar;
    SpeedButton1: TSpeedButton;
    Memo1: TMemo;
    Timer1: TTimer;
    Image1: TImage;
    procedure FormCreate(Sender: TObject);
    procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo;
      var Handled: Boolean);
    procedure SpeedButton2Click(Sender: TObject);
    procedure CheckBox3Change(Sender: TObject);
    procedure CheckBox4Change(Sender: TObject);
    procedure SpeedButton1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  TabbedForm: TTabbedForm;

implementation

{$R *.fmx}

procedure TTabbedForm.CheckBox3Change(Sender: TObject);
begin
if checkbox3.IsChecked=true then checkbox4.IsChecked:=false;

end;

procedure TTabbedForm.CheckBox4Change(Sender: TObject);
begin
if checkbox4.IsChecked=true then checkbox3.IsChecked:=false;
end;

procedure TTabbedForm.FormCreate(Sender: TObject);
begin
  { This defines the default active tab at runtime }
  TabControl1.ActiveTab := TabItem1;
end;

procedure TTabbedForm.FormGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
{$IFDEF ANDROID}
  case EventInfo.GestureID of
    sgiLeft:
    begin
      if TabControl1.ActiveTab <> TabControl1.Tabs[TabControl1.TabCount-1] then
        TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex+1];
      Handled := True;
    end;

    sgiRight:
    begin
      if TabControl1.ActiveTab <> TabControl1.Tabs[0] then
        TabControl1.ActiveTab := TabControl1.Tabs[TabControl1.TabIndex-1];
      Handled := True;
    end;
  end;
{$ENDIF}
end;



procedure ListFileDir(Path: string; FileList: TStrings);
var
   SR: TSearchRec;
begin
   if FindFirst(Path + '*.*', faAnyFile, SR) = 0 then
   begin
     repeat
       if (SR.Attr <> faDirectory) then
       begin
         FileList.Add(SR.Name);
       end;
     until FindNext(SR) <> 0;
     FindClose(SR);
   end;
end;

procedure TTabbedForm.SpeedButton1Click(Sender: TObject);
begin
memo1.Lines.Clear;
memo1.Lines.Add(edit1.Text);
memo1.Lines.Add(edit2.Text);

if checkbox2.IsChecked=true then memo1.Lines.Add('SSLon') else memo1.Lines.Add('SSLoff');

memo1.Lines.Add(edit3.Text);

if checkbox3.IsChecked=true then memo1.Lines.Add('copy') else memo1.Lines.Add('move');


if checkbox1.IsChecked=true then memo1.Lines.Add('erstellen') else memo1.Lines.Add('direct');

memo1.Lines.SaveToFile(getHomePath + '/options.gee');

end;

procedure TTabbedForm.SpeedButton2Click(Sender: TObject);
var
i: integer;
begin
   ListFileDir('/sdcard/DCIM/camera/', ListBox1.Items);

   progressbar1.Max:=listbox1.Items.Count;


idftp1.Host:=edit1.Text;
idftp1.Port:=strtoint(edit2.Text);

if checkbox2.IsChecked=true then begin
idftp1.UseTLS:=utUseExplicitTLS;
idftp1.IOHandler:= IdSSLIOHandlerSocketOpenSSL1;
end else begin
idftp1.UseTLS:=utNoTLSSupport;
idftp1.iohandler:= nil;
end;

 idftp1.Connect;

 idftp1.ChangeDir(edit3.Text);

 if checkbox1.IsChecked=true then begin
   idftp1.MakeDir(datetostr(now));
   idftp1.ChangeDir(datetostr(now));
 end;

 application.ProcessMessages;
 for I := 0 to listbox1.Items.count-1 do begin
   idftp1.Put('/sdcard/DCIM/camera/'+listbox1.Items[i], listbox1.Items[i]);
   progressbar1.Value:=i;
    application.ProcessMessages;
 end;

 if checkbox4.IsChecked=true then begin
  for I := 0 to listbox1.Items.Count-1 do begin
    deletefile('/sdcard/DCIM/camera/'+listbox1.Items[i]);

 end;
 end;

end;

procedure TTabbedForm.Timer1Timer(Sender: TObject);
begin
timer1.Enabled:=false;
if fileexists(getHomePath + '/options.gee' ) then begin
memo1.Lines.LoadFromFile(getHomePath + '/options.gee');
 edit1.Text:=memo1.Lines[0];
 edit2.Text:=memo1.Lines[1];
 if memo1.Lines[2]='SSLonthen checkbox2.IsChecked:=true;
 edit3.Text:=memo1.Lines[3];
if memo1.Lines[4]='copythen checkbox3.ischecked:=true else checkbox4.IsChecked:=true;

if memo1.Lines[5]='erstellenthen checkbox1.IsChecked:=true;


end else begin showmessage('Bitte alle Einstellungen setzen und speichern.');

end;
end;


end.
Robert
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 5. Jun 2014, 09:08
FYI: Zum Auflisten der Dateien gibt es eine Delphi Funktion:

var files: TStringDynArray;
files := TDirectory.GetFiles(Folder);

Kannst die Funktion also ändern:

procedure ListFileDir(Path: string; FileList: TStrings);
var
Count: Integer;
files: TStringDynArray;
begin
FileList := TStringlist.Create;
files := TDirectory.GetFiles(Path);
For Count := 0 to Length(Files)-1 do FileList.Add(Files[Count]);
end;

Geändert von greenmile ( 5. Jun 2014 um 09:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#5

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 5. Jun 2014, 10:16
Zitat:
FileList := TStringlist.Create;
Sollte aber besser wieder da raus.

Oder du mußt den Parameder in einen VAR OUT-Parameter ändern.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 5. Jun 2014 um 10:37 Uhr)
  Mit Zitat antworten Zitat
greenmile

Registriert seit: 17. Apr 2003
1.107 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 5. Jun 2014, 10:26
Stimmt Aber eigentlich kann er sich auch die gesamte Funktion sparen und .GetFiles direkt implementieren.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 5. Jun 2014, 10:39
Am Schönsten als Class Helper das originale GetFiles überladen.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 13. Jun 2014, 11:24
Also ich habe heute endlich herausgefunden was das App beim beenden "Abstürtzen" lässt (Project1 wurde angehalten)

Es ist die IdFTP Komponente!!

Habe ein leeres Formular genommen. = Kein Absturz

Sobal ich die IdFTP drauf setze, stürtzt das App beim beenden ab.
Obwohl ich die Komponente nicht einmal benutze... (Kein Connect etc...)


Was kann man da machen?
Robert
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#9

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 13. Jun 2014, 11:52
Mmmh... Leere Anwendung mit TidFTP1 Komponente macht hier keine Probleme (Simulator, iPod Touch getestet)

Beispielprojekt? FormCreate?
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Beim Beenden der App erscheint: Project1 Angehalten

  Alt 19. Jun 2014, 17:33
Hat jemand von euch zufälligerweise ein Samsung Handy? Wo er das mal testen könnte? Diese APK ist ein leeres Formular mit einer "leeren" idFTP Komponente drauf. Jedes mal wenn ich die Anwendung mit dem Back Pfeil "schliesse" kommt der Absturtz...

Liegts evt an meinem Handy?

Muss den Fehler unbedingt finden
Angehängte Dateien
Dateityp: zip Projekt.zip (13,1 KB, 9x aufgerufen)
Dateityp: rar APK.part1.rar (4,00 MB, 3x aufgerufen)
Dateityp: rar APK.part2.rar (2,54 MB, 2x aufgerufen)
Robert
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:40 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