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/)
-   -   Datei wird bei Bereitstellung nicht überschreiben (https://www.delphipraxis.net/185044-datei-wird-bei-bereitstellung-nicht-ueberschreiben.html)

bcvs 11. Mai 2015 07:54

Datei wird bei Bereitstellung nicht überschreiben
 
Hallo zusammen,

ich will eine HTML-Datei zusammen mit meiner App auf das Mobilgerät bringen. Also nehme ich diese Datei in die Bereitstellung auf. Wenn die Datei jetzt einmal auf dem Mobilgerät (Android oder IOS) vorhanden ist, wird sie allerdings nie mehr überschrieben, auch wenn "Überschreiben" in der Bereitstellung auf immer steht.

Der Remote-Pfad ist für IOS StartUp\Documents\ und für Android assets\internal.

Ich behelfe mir jetzt so dass ich die Datei beim Start der App umbenenne, dann ist sie unter dem Namen nicht mehr vorhanden und wird beim nächsten Mal wieder übertragen. Gibt es da keine andere Lösung?

Appmethod 1.16

bra 12. Mai 2015 10:49

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Ich habe diesen Fehler bereits zweimal an Embarcadero gemeldet und er wurde dort mit "By design" geschlossen:
http://qc.embarcadero.com/wc/qcmain.aspx?d=125481
http://qc.embarcadero.com/wc/qcmain.aspx?d=130084

Meiner Meinung nach ein grober Bug, laut denen soll es wohl so sein. Wozu auch immer? :evil:

bcvs 12. Mai 2015 11:20

AW: Datei wird bei Bereitstellung nicht überschreiben
 
OK, ich weiß zwar nicht, was daran by design sein soll, aber denn muss ich wohl mit meinem Workaround leben.

Thomas_K 12. Mai 2015 11:32

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Zitat:

Zitat von bcvs (Beitrag 1301172)
denn muss ich wohl mit meinem Workaround leben.

Kannst du dein Workaround hier grob beschreiben, über diese Ecke und Kannte in Delphi bin ich auch schon gestolpert.

himitsu 12. Mai 2015 11:34

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Wenn man da "Überschreiben" einstellen kann, dann sollte auch überschrieben werden.

IMHO ist das also ein Bug.
Nochmal im alten QC fragen was das soll (eventuell auch besser gleich im neuen https://quality.embarcadero.com/)

Wenn sich genug beschweren ... vielleicht repariert es dann auch mal wer.

bcvs 12. Mai 2015 11:54

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Zitat:

Zitat von Thomas_K (Beitrag 1301173)
Kannst du dein Workaround hier grob beschreiben, über diese Ecke und Kannte in Delphi bin ich auch schon gestolpert.

Im OnShow des MainForm (hier vom Prinzip her, der entsprechende Pfad ist natürlich berücksichtigt):

Delphi-Quellcode:
  if FileExists('Helptemp.html') then begin
    DeleteFile('Help.html');
    RenameFile('Helptemp.html', 'Help.html');
  end;
Helptemp.html wird deployed, mit Help.html wird in der App gearbeitet.

bra 12. Mai 2015 13:49

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Ich hab mir darüber auch schon Gedanken gemacht und einen Haken hat deine Variante. Angenommen die Datei wird bei jedem Update im Paket aktualisiert, hat man nicht mehr die aktuelle Version, wenn der Benutzer nicht nach jedem Update die App aufruft.

Beispiel:
Version1 installiert und gestartet -> Tempversion1 wird umkopiert
Version2 installiert aber nicht gestartet -> Dateiversion1, Tempversion2 wird eingespielt
Version3 installiert und gestartet -> Tempversion2 wird umkopiert, die aktuelle aus Version3 aber nicht.

Wenn der Benutzer jetzt also nach Version1 x Updates zwar einspielt, die App selbst aber nie aufruft, bleiben die Dateien immer auf dem Stand vom ersten Update nach dem letzten Start der App.

bcvs 12. Mai 2015 15:14

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Ja, das könnte sein.

Dann müsste man halt die Versionsnummer in die Tempversionen integrieren und alle älteren Versionen löschen. In deinem Beispiel:

Version3 installiert und gestartet -> Tempversion3 wird umkopiert, Tempversion2 wird gelöscht.

Mavarik 12. Mai 2015 15:21

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Oder Du änderst den Dateiname:

'Help_'+GUITtoString+'.htm';

Und suchst die Datei mit 'Help_*.htm'

Mavarik

himitsu 12. Mai 2015 16:01

AW: Datei wird bei Bereitstellung nicht überschreiben
 
Oder die Datei als Ressource in die "EXE" und bei Programmstart/Verwendung da rauskopiert.

Die Anwendung selber wird ja hoffentlich aktualisiert, auch wenn sie schonmal installiert wurde. :stupid:


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:31 Uhr.
Seite 1 von 2  1 2      

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