![]() |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Gibt es eine Möglichkeit Einbauen zu können, dass bestimmte Dateien nur bis zu einer bestimmten Version runtergeladen werden? Spart bei neueren Versionen des Programms Traffic!
|
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
entferne einfach überall
Delphi-Quellcode:
, dann gehts;-)
{$IFNDEF Indy10} const {$ENDIF}
|
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Und das bringt mir genau was?
Meine Idee: man gubt für jede Dateinin der INI mit an, bis zu welcher Programmversion diese mitgeliefert werden soll. Oder es sollte einen Parameter geben, bei dem man einstellen kann, dass eine vorhandene Datei (z.B. Readme) nicht erneut heruntergeladen werden soll (Prüfung per FileExists?). |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hallo Marco,
ich habe mir deine Kompoponente zwar nicht angeschaut habe aber paralellen zu meinem " alten Updater" gefunden. Also habe ich ihn rausgekramt und weiter verbessert. Folgendes Ergebnis ist dabei rausgekommen. Ich habe zwar auch mit einer ini. ähnlichen Datei gearbeitet diese ist aber nicht mehr wirklich notwendig. Folgenden Ansatz habe ich bereits umgesetzt: - Container geschrieben der die "neuen Dateien aufnimmt und in eine Datei packt, Inhalt wird per MD5 verifiziert" - Upgrader alias (Update.exe) geschrieben. Dieser packt die Containerdatei aus und verteilt diese an die Anwendung. Funktion: - Der Download des Updates ( der Containerdatei ) erfolgt über das Hauptprogramm. - Update wird heruntergeladen, dieses beinhaltet eine Containerdatei. - Das Hauptprogramm startet den Upgrader alias Update.exe und beendet sich selbst. - Upgrader alias Update.exe verteilt, löscht bzw überschreibt die alten Dateien oder aktualisiert sich selbst. Vorteile: - Den Upgrader kann man individuell ans Programmdesign anpassen da der Code immer gleich bleibt. - Der Upgrader alias (Update.exe) kann sich selbst updaten. - Updatekomponente wird wie gehabt ins normale Projekt aufgenommen. - Man hat nur noch eine Containerdatei auf dem Webspace. - Die Version des aktuellen Programms wird mittels einer version.dat vom Upgrader verteilt. Und vom Hauptprogramm abgefragt. Somit erübrigt sich die ini-änliche datei auf dem Space. ;) - Man benötigt nur für den Upgrader Adminrechte nicht fürs Hauptprogramm Das Modul läuft übrigens schon in eines meiner aktuellen Projekte :) Würde mein Wissen und Lösungsansatz gern mit dir Teilen. Wenn du Interesse hast kannst du dich ja mal per Pm melden. Mfg Net7 |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hallo,
beim Kompilieren kommt dieser Error: [DCC Fehler] WebUpdateThread.pas(48): E2010 Inkompatible Typen: 'Int64' und 'Integer'
Delphi-Quellcode:
Help pls :gruebel:
procedure TDownloadThread.Execute;
var fs: TFileStream; begin fIdHTTP := TIdHTTP.Create(nil); fIdHTTP.OnWork := InternalOnWork; //-> Hier kommt der Error fs := TFileStream.Create (fPath + fName, fmCreate or fmShareExclusive); try fIdHTTP.Get(fURL + fName, fs); finally fs.Free; fIdHTTP.Free; end; end; |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hi,
Zitat:
hab zwar nicht den Komponentencode aber: OnWork ist vom Typ TWorkEvent der ist so definiert.
Delphi-Quellcode:
TWorkEvent = procedure(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer) of object;
Nun die Frage: Wie ist InternalOnWork definiert etwas so?
Delphi-Quellcode:
Dann wird das wohl daran liegen ...
InternalOnWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: INT64);
Mfg Net7 |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Kann einer weiter helfen bei dem Problem?
[DCC Fehler] WebUpdateThread.pas(49): E2010 Inkompatible Typen: 'Int64' und 'Integer'
Delphi-Quellcode:
ist meines wissen's richtig?
procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode;
{$IFNDEF Indy10} const {$ENDIF} AWorkCount: Integer); |
DP-Maintenance
Dieses Thema wurde von "TBx" von "Freeware" nach "Open-Source" verschoben.
Quellen dabei, also Opensource :-) |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Zitat:
Ist es auch. Tipp, mal versucht die an den Compilereinstellungen zu fummeln?? Bereichsprüfung zur Laufzeit ect. ? |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Soweit ich weiß, liegt es an einer alten Indy Version. Ich hatte das Problem auch einmal. Ein altes Projekt von mir, wurde nicht mehr compiled. Hatte zuvor eigentlich nur ein Indy Update gemacht...
Gruß, Real-TTX |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:56 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