AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Datei wird bei Bereitstellung nicht überschreiben
Thema durchsuchen
Ansicht
Themen-Optionen

Datei wird bei Bereitstellung nicht überschreiben

Ein Thema von bcvs · begonnen am 11. Mai 2015 · letzter Beitrag vom 25. Apr 2019
Antwort Antwort
bcvs

Registriert seit: 16. Jun 2011
736 Beiträge
 
Delphi 12 Athens
 
#1

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 11:20
OK, ich weiß zwar nicht, was daran by design sein soll, aber denn muss ich wohl mit meinem Workaround leben.
  Mit Zitat antworten Zitat
Thomas_K

Registriert seit: 16. Apr 2006
71 Beiträge
 
Delphi XE8 Professional
 
#2

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 11:32
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.
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
736 Beiträge
 
Delphi 12 Athens
 
#3

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 11:54
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.
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#4

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 13:49
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.

Geändert von bra (12. Mai 2015 um 13:52 Uhr)
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
736 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 15:14
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.
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 15:21
Oder Du änderst den Dateiname:

'Help_'+GUITtoString+'.htm';

Und suchst die Datei mit 'Help_*.htm'

Mavarik
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#7

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 16:01
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#8

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 13. Mai 2015, 08:44
Alles sinnvolle Vorschläge, leider alle mit gewissen Nebenwirkungen und letztlich ja nur ein Umschiffen eines meiner Meinung nach unsinnigen Verhaltens von FMX.


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.
Oder Du änderst den Dateiname:

'Help_'+GUITtoString+'.htm';

Und suchst die Datei mit 'Help_*.htm'
An so etwas habe ich auch schon gedacht, allerdings muss man dann bei jeder Änderung einer Datei daran denken, die umzubenennen und zusätzlich im Deployment-Manager auch ändern (oder dort umbenennen). Das ist aber nur mit sinnvollem Aufwand möglich, wenn sich nur wenige Dateien ändern. Wir hatten in einem Projekt eine Zeitlang pdf.js eingebunden (hunderte einzelne Dateien), da wäre sowas bei einem Update gar nicht sinnvoll machbar.

Oder die Datei als Ressource in die "EXE" und bei
... oder in das gleiche Verzeichnis wie die Anwendung ...
Hab ich auch schon versucht und es nicht zum Laufen bekommen, scheinbar werden dort nur spezielle Dateien deployed, zumindest bei Android.

Oder die Datei als Ressource in die "EXE" und bei Programmstart/Verwendung da rauskopiert.
Hier wird es Probleme mit zu großen Dateien geben, meines Wissens haben die Bins zumindest unter iOS eine Größenbegrenzung.

Geändert von bra (13. Mai 2015 um 08:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Mavarik
Mavarik

Registriert seit: 9. Feb 2006
Ort: Stolberg (Rhld)
4.165 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 13. Mai 2015, 21:44
'Help_'+GUIDtoString+'.htm';
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.555 Beiträge
 
Delphi 12 Athens
 
#10

AW: Datei wird bei Bereitstellung nicht überschreiben

  Alt 12. Mai 2015, 11:34
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.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:34 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