![]() |
FileExists in FireMonkey?
Hallo,
wieder ein Problem bei der Programmierung für Android. Ich nutze Delphi XE5 Prof.. Ich möchte mit meiner App eine Datei anlegen. Dazu nutze ich: Androidapi.IOUtils.GetExternalDownloadsDir, dann hänge ich den Dateinamen an. Ich kontrolliere, ob die Datei existiert mit FileExists (wenn ja hänge ich Ziffern an). Wiederhole ich die Aktion während eines Progrmmlaufs - alles prima. Beende ich die App und starte neu, erkennt sie die erste Datei nicht und überschreibt. Sollte ich ein anderes Verzeichnis nehmen oder leigt das an der Debug-Konfiguration? Im Voraus vielen Dank! Geosucher |
AW: FileExists in FireMonkey?
Das liegt daran, dass in XE5 bei jedem Build die app neu installiert wird. Dadurch landet die auch wieder woanders und erhält eine andere GUID in der Sandbox.
BTW solltest Du für IOUtils verwenden und nicht mehr die alten Dateirotuinen (FileExists >> TFile.Exists). Intern wird das im konkreten Fall zwar weiterhin so aufgerufen, aber viele andere Routinen verhalten sich dann automatisch abhängig von der Plattform korrekt. |
AW: FileExists in FireMonkey?
Danke!
Meinst Du statt File Exists --> System.IoUtils.TFile.Exists ? Gruß Geosucher |
AW: FileExists in FireMonkey?
Ja, genau das. Dort sind auch noch andere Records vorhanden, die einem sehr viel Standard-Arbeit abnehmen (TFile, TPath, TDirectory).
|
AW: FileExists in FireMonkey?
Keine Ahnung, ob es in diesem Fall daran liegt, aber unter Android werden neue Dateien über MTP und teilweise auch in (anderen) Apps erst erkannt, wenn entweder das Gerät neu gestartet wird oder "Intent.ACTION_MEDIA_SCANNER_SCAN_FILE" manuell aufgerufen wird.
Siehe auch hier: ![]() Testen kannst du es ganz einfach, indem du mal das Gerät neu startest und danach prüfst, ob die Datei nun gefunden wird. Edit: Sehe gerade, du hast "GetExternalDownloadsDir" und nicht "GetSharedDownloadsDir" verwendet; dann wird natürlich sowieso bei jedem Build die Datei gelöscht (wie Union bereits geschrieben hat) |
AW: FileExists in FireMonkey?
Hallo Olli73 und Union,
danke für Eure Tipps. Ich schreibe jetzt in GetSharedDownloadsDir und wenn ich ein Release erzeugt, klappt alles wie gewünscht.... Danke! Geosucher |
AW: FileExists in FireMonkey?
Ich dachte ich hätte mal gehört, daß Emba das wieder repariert hätte und nicht mehr über deinstallieren/installieren geht, so wie anfangs schonmal war?
|
AW: FileExists in FireMonkey?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 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