Es gibt da eine Funktionalität, die Dateien beim Start aus einem bestimmten Verzeichnis in ein bestimmtes Verzeichnis kopiert, wenn die Datei im Ziel-Verzeichnis nicht existiert.
Das macht die
unit System.StartupCopy
. Als Voraussetzung muss (bei iOS) die Datei zwingend in der Bereitstellung als Remote-Pfad
Startup/Documents/ bekommen.
Bei jedem anderen Remote-Pfad funktioniert das nicht.
Jetzt kommst du und sagst dass Emba da etwas falsch gemacht hat, denn du möchtest gerne diesen Remote-Pfad verwenden und da soll alles anders sein.
Wenn du nicht nass werden willst, dann geh
nicht ans Wasser.
Wenn du keinen Sonnenbrand haben möchtest, dann gehe
nicht in die Sonne.
Wenn du die Dateien nicht kopiert haben möchtest, dann lege diese
nicht in den Remote-Pfad
StartUp/Documents/ ab.
Wenn du die Dateien immer ohne wenn und aber kopiert haben möchtest (wozu eigentlich dann kopieren), dann lege diese
nicht in den Remote-Pfad
StartUp/Documents/ ab.
Lege diese Dateien in einen
anderen Remote-Pfad und schreibe dir eine andere Routine, die diese Dateien dann nach deinem Gutdünken wo auch immer hin kopiert.
Merksatz
Dieser eine Remote-Pfad StartUp/Documents/ hat eine besondere ihm zugedachte Funktion.
Willst du dich morgen bei Emba darüber beschweren, dass man in einem Button keinen Text editieren kann? Äh, dafür ist der auch nicht gemacht => "works as designed". Ich will aber ...
Oder bei Microsoft, weil du deine Word-Dokumente am liebsten mit der Endung *.xlsx speicherst und beim Öffnen geht jetzt plötzlich Excel auf?
Oder beim Obsthändler, weil du mit der Banane deine Bierflasche nicht aufbekommst?
Wenn du den Pfad trotzdem nutzen möchtest und dir die Kopiererei egal ist (die Datei liegt doppelt auf dem Device und verbraucht doppelt so viel Speicherplatz), dann kannst du unter iOS so
Delphi-Quellcode:
TPath.Combine(
TPath.Combine(
TPath.GetDirectoryName( ParamStr( 0 ) ),
'StartUp' ),
'Documents' );
den Remote-Pfad
StartUp/Documents/ erhalten.