Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   FMX DX10 assets\internal --> Android geht nicht? (https://www.delphipraxis.net/187743-fmx-dx10-assets%5Cinternal-android-geht-nicht.html)

Harry Stahl 29. Dez 2015 19:03

FMX DX10 assets\internal --> Android geht nicht?
 
Ich möchte bestimmte Daten mit in das Dokumentenverzeichnis der app übertragen lassen, benutze dazu für die Datei den Eintrag "assets\internal".

Leider wird die Datei nicht übertragen.

Im Übertragungsprotokoll steht als Ziel:

c:\program files (x86)\embarcadero\studio\17.0\bin\paclient.exe -u8 --put="FerienA.DAT,.\Android\Debug\\TimOnize\assets\ internal\,0,FerienA.DAT"

Das "\\" dürfte doch eigentlich nicht sein, oder?

Was auch seltsam ist: Delphi bindet mir zwangsweise in das Bereitstellungsfenster eine Projektdatei "Data.pas" ein, die ich nicht hinzugefügt habe und die man auch nicht entfernen kann (Schalter ist ausgegraut).

Wenn ich die Deployment-Datei manuell editiere und den Eintrag selber lösche, nimmt Delphi die Datei einfach wieder hinzu. Warum nur?

Sir Rufo 29. Dez 2015 19:13

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Bei mir gehen diese Dateien an
Code:
.\assets\internal\

Harry Stahl 29. Dez 2015 21:40

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Das hatte ich auch schon versucht, was aber leider auch nicht ging. Seltsam.

Rollo62 29. Dez 2015 22:24

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Bei mir gehts mit ".\assets\internal\" unter Android.

Blöde Frage: hast du das Overwrite Flag auf "Always" stehen ? Vermutlich ja.

Ich habe noch nicht das Update-1 für Rx10 eingespielt, vielleicht liegt es daran ?

Rollo

Harry Stahl 30. Dez 2015 00:52

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Auch diese Variante mit pathdelimeter am Ende hatte ich probiert. Das Flag steht auf always overwrite. Benutze das Update 1. Es müsste eigentlich funktionieren, ging ja sonst auch immer.

Wie gesagt, mich irritiert im Übertragungsprotokoll das "\\" im Pfad (siehe oben den Auszug).

Harry Stahl 30. Dez 2015 12:34

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Schon seltsam. Wenn ich mir die Einträge in den Delphi-Deploy-Dateien ansehen, stimmen die alle:
Delphi-Quellcode:
 <DeployFile Include="FerienD.DAT" Condition="'$(Config)'=='Release'">
   <RemoteDir>TimOnize\assets\internal\</RemoteDir>
   <RemoteName>FerienD.DAT</RemoteName>
   <DeployClass>File</DeployClass>
   <Operation>0</Operation>
   <LocalCommand/>
   <RemoteCommand/>
   <Overwrite>True</Overwrite>
 </DeployFile>
Leider wird aber dann keine Datei übertragen an:

Delphi-Quellcode:
Dieser PC\Harry Stahl (SM-P605)\Tablet\Android\data\de.hastasoft.TimOnize\files
Auf diese Dateien würde ich dann ja normalerweise mit

Delphi-Quellcode:
fullpathfilename := System.IOUtils.TPath.Combine (System.IOUtils.TPath.GetDocumentsPath, OnlyFileName)
zugreifen können. Der Dokumentenpfad wird vom System mit

data/data/de.hastasoft.TimOnize/files

ausgegeben, was soweit auch OK wäre.

Wähle ich im Bereitstellungsmanager alternativ das Ziel "assets\external\"

dann kommen die Dateien in

Delphi-Quellcode:
Dieser PC\Harry Stahl (SM-P605)\Tablet\Android\data\de.hastasoft.TimOnize\files\external
auch tatsächlich an und ich kann dann per

Delphi-Quellcode:
fullpathfilename := System.IOUtils.TPath.Combine (System.IOUtils.TPath.GetSharedDocumentsPath, OnlyFileName)
auch auf die Dateien zugreifen.

Der gemeinsame Dokumentenpfad lautet dann gemäß Angabe vom System

/storage/emulated/0/Documents

was auch OK ist.

Mach ich es halt so. Aber warum die erste Variante nicht geht, bleibt mir ein Rätsel.:?::?::?:

Sir Rufo 30. Dez 2015 17:22

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Das Geheimnis mit diesen Dateien erfährst du in der
Delphi-Quellcode:
System.StartUpCopy
Unit.

Harry Stahl 30. Dez 2015 23:35

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Ja, ganz interessant, man kann sich mal ansehen, wie die Angaben tatsächlich lauten müssten (bzw. die werden eben, falls nicht ganz passend, zurecht gestutzt).

Sir Rufo 30. Dez 2015 23:40

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1325677)
Ja, ganz interessant, man kann sich mal ansehen, wie die Angaben tatsächlich lauten müssten (bzw. die werden eben, falls nicht ganz passend, zurecht gestutzt).

Und man sieht wann was warum wohin kopiert wird und was die Overwrite Einstellung in der Bereitstellung aussagt. Vor allem sieht man, dass die Dateien nach dem Kopieren auf dem Device doppelt vorhanden sind. :stupid:

bra 4. Jan 2016 10:23

AW: FMX DX10 assets\internal --> Android geht nicht?
 
Die Overwrite-Einstellung ist für die Tonne, funktioniert nämlich nicht. Das habe ich schon mehrfach bei EMB bemängelt, soll aber angeblich so "by Design" sein (https://quality.embarcadero.com/browse/RSP-12630).

Unabhängig davon werden die Dateien im Deployment erst beim Starten der App umkopiert und nicht beim Installieren. Das beim Testen beachten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:13 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf