Delphi-PRAXiS
Seite 11 von 16   « Erste     91011 1213     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   TMSWebUpdate - eine neue WebUpdate-Komponente (https://www.delphipraxis.net/109301-tmswebupdate-eine-neue-webupdate-komponente.html)

Svenkan 5. Jan 2009 19:44

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!

Weazy 13. Feb 2009 21:29

Re: TMSWebUpdate - eine neue WebUpdate-Komponente
 
entferne einfach überall
Delphi-Quellcode:
{$IFNDEF Indy10} const {$ENDIF}
, dann gehts;-)

Svenkan 20. Feb 2009 16:29

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?).

Net7 24. Feb 2009 12:05

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

ChEeTaH 26. Feb 2009 17:39

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:
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;
Help pls :gruebel:

Net7 1. Mär 2009 13:33

Re: TMSWebUpdate - eine neue WebUpdate-Komponente
 
Hi,

Zitat:

Zitat von ChEeTaH
Hallo,
beim Kompilieren kommt dieser Error:

[DCC Fehler] WebUpdateThread.pas(48): E2010 Inkompatible Typen: 'Int64' und 'Integer'

Delphi-Quellcode:
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;
Help pls :gruebel:


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:
InternalOnWork(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: INT64);
Dann wird das wohl daran liegen ...


Mfg Net7

youuu 9. Aug 2009 10:51

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:
      procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode;
                {$IFNDEF Indy10} const {$ENDIF} AWorkCount: Integer);
ist meines wissen's richtig?

DP-Maintenance 9. Aug 2009 14:35

DP-Maintenance
 
Dieses Thema wurde von "TBx" von "Freeware" nach "Open-Source" verschoben.
Quellen dabei, also Opensource :-)

Net7 10. Aug 2009 10:52

Re: TMSWebUpdate - eine neue WebUpdate-Komponente
 
Zitat:

Zitat von youuu
Kann einer weiter helfen bei dem Problem?


[DCC Fehler] WebUpdateThread.pas(49): E2010 Inkompatible Typen: 'Int64' und 'Integer'

Delphi-Quellcode:
      procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode;
                {$IFNDEF Indy10} const {$ENDIF} AWorkCount: Integer);
ist meines wissen's richtig?


Ist es auch.

Tipp, mal versucht die an den Compilereinstellungen zu fummeln?? Bereichsprüfung zur Laufzeit ect. ?

Real-TTX 10. Aug 2009 11:41

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 03:53 Uhr.
Seite 11 von 16   « Erste     91011 1213     Letzte »    

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