Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Delphi 12.1 Android 14 und FTP (https://www.delphipraxis.net/216999-delphi-12-1-android-14-und-ftp.html)

Ulf346C 3. Apr 2025 15:47

Delphi 12.1 Android 14 und FTP
 
Hallo,

ich baue gerade um - von Delphi10.2 und Android 8 auf Delphi 12.1 und Android 14

eine Hürde an der ich gerade scheitere ist ein FTP Upload (... in mein lokales Netz)
Code:
  bild1 := TPath.Combine(TPath.GetSharedDocumentsPath, DateiName);
  Imagecontrol1.Bitmap.SaveToFile(bild1);
  idftp1.Host := dbf.dbserver;
  if not idFtp1.connected then idFtp1.connect();
  g1 := idftp1.size(DateiName);  // nachschauen ob der Dateiname schon existiert
  if g1 > 1 then idftp1.Delete(DateiName);

  idftp1.put(bild1, DateiName, true);
  idftp1.disconnect;
beim connect() ist Schluß
hat jemand einen Tip, was sich geändert hat?
Ich vermute es liegt am Andoid, das bin ich aber kein besonders großer Kenner

Danke
Ulf

zeras 3. Apr 2025 21:03

AW: Delphi 12.1 Android 14 und FTP
 
Ich kann deine Frage zwar nicht beantworten.
Aber bei der Zeile, ob die Datei schon existiert, bin ich nicht sicher, ob das 100%ig klappt?
Meines Wissens kann eine Datei auch Länge = 0 haben oder geht das bei FTP nicht? Damit würde die Abfrage nicht korrekt sein.

Delphi-Quellcode:
 g1 := idftp1.size(DateiName); // nachschauen ob der Dateiname schon existiert
  if g1 > 1 then idftp1.Delete(DateiName);

jaenicke 3. Apr 2025 22:37

AW: Delphi 12.1 Android 14 und FTP
 
Zitat:

Zitat von Ulf346C (Beitrag 1547787)
beim connect() ist Schluß

Was bedeutet das? Was passiert, was für ein Fehler kommt?

Ulf346C 4. Apr 2025 07:20

AW: Delphi 12.1 Android 14 und FTP
 
Zitat:

Zitat von zeras (Beitrag 1547796)
Ich kann deine Frage zwar nicht beantworten.
Aber bei der Zeile, ob die Datei schon existiert, bin ich nicht sicher, ob das 100%ig klappt?
Meines Wissens kann eine Datei auch Länge = 0 haben oder geht das bei FTP nicht? Damit würde die Abfrage nicht korrekt sein.

Das ist im Grunde richtig, in dem Fall werden Fotos abgelegt eine Datei mit Länge 0 wäre sowieso ungültig
Diese Methode erwies sieh am schnellsten, darum habe ich das so gemacht

Ulf346C 4. Apr 2025 07:21

AW: Delphi 12.1 Android 14 und FTP
 
Zitat:

Zitat von jaenicke (Beitrag 1547797)
Zitat:

Zitat von Ulf346C (Beitrag 1547787)
beim connect() ist Schluß

Was bedeutet das? Was passiert, was für ein Fehler kommt?

es kommt kein Fehler, die App stürzt ab

jaenicke 4. Apr 2025 07:40

AW: Delphi 12.1 Android 14 und FTP
 
Hast du in deiner echten Anwendung denn auch eine Fehlerbehandlung drin? In dem geposteten Code gibt es ja kein try..except oder ähnliches, deshalb frage ich.

Außerdem solltest du im Debugger auch etwas sehen.

Wenn das alles nicht hilft, bleibt noch, mit "adb logcat" die Logs auszulesen.

Ulf346C 4. Apr 2025 10:15

AW: Delphi 12.1 Android 14 und FTP
 
Danke erstmal
mit ADB kenne ich mich leider gar nicht aus (wie gesagt ich bin kein Android Kenner)

try/except und auch der Debugger helfen nicht weiter, es kommt keine Fehlermeldung

im Indy Quellcode nach einer Anweisung
Code:
      CheckForSocketError(Posix.SysSocket.connect(ASocket, LAddr, SizeOf(LAddrIPv4)));

jaenicke 4. Apr 2025 10:36

AW: Delphi 12.1 Android 14 und FTP
 
Zitat:

Zitat von Ulf346C (Beitrag 1547813)
try/except und auch der Debugger helfen nicht weiter, es kommt keine Fehlermeldung

Was passiert denn? Wird die Debugsitzung einfach abgebrochen und die App beendet? Oder bleibt das connect hängen und es geht nicht weiter?

Ulf346C 4. Apr 2025 10:42

AW: Delphi 12.1 Android 14 und FTP
 
es geht einfach nicht weiter
der Cursor steht auf der gezeigten Zeile und es geht nichts weiter bis ich irgendwann die Debugsitzung manuell abbreche

Rollo62 4. Apr 2025 10:49

AW: Delphi 12.1 Android 14 und FTP
 
Zitat:

Zitat von Ulf346C (Beitrag 1547813)
try/except und auch der Debugger helfen nicht weiter, es kommt keine Fehlermeldung

Es gibt bestimmte hardware oder OS-spezifische Exceptions, die sich mit einfachem TryExcept nicht abfangen lassen.
Dann kann es manchmal helfen, diese Stelle in einen zwei-schichtigen try-except Block zu packen, der das dann abfangen kann.
Womöglich besser noch iner einer separaten Methode.

Das Loggen ist aber auf jeden Fall sinnvoll.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 Uhr.
Seite 1 von 2  1 2      

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