![]() |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Huhu,
Zitat:
Zitat:
Kannst du die Dateien, die du im Hauptverzeichnis brauchst, nicht gleich dorthin laden? Zitat:
Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo Listers,
Es gibt eine Neue Version der WebUpdate-Komponente, V1.01.0. Es hat sich einiges Neue getan. An dieser Stelle ein Dank an Fylo und Svenkan für die Ideen. Das SSL gibt's im nächsten update. Neuerungen: Für jede, in der Versionsdatei angegebene Datei, gilt: ist ein Pfad angegeben, wird die Datei beim Herunterladen dort hinein kopiert. (wie gehabt). Ist Pfad= angegeben, oder wird die Angabe schlicht weggelassen, wird die Datei in ein Unterverzeichnis, unterhalb des Programmverzeichnisses, mit dem Namen WebUpdateDateien kopiert. All diese Dateien werden, nach Programmende, ins eigentliche Programmverzeichnis kopiert. Das hat den vorteil, daß auch mehrere Dateien, beispielsweise dlls, im Programmverzeichnis ersetzt werden können. Wird z.B. Pfad=sound angegeben, wird die Datei ins Verzeichnis sound\ unterhalb des eigentlichen Programmverzeichnisses kopiert. So kann, weiterhin, eine Image, sound,-...-Datei ersetzt werden. Die erste datei, die den Zusatz Start=1 hat, wird von der Batch-Datei als letzte Aktion ausgeführt. Auf diese Weise, kann das Programm sofort nach dem Update automatisch wieder neu gestartet werden. Schaut euch auch das Beispiel im demo an. Das bringt u.a. den enormen vorteil, daß man als neue Programmversion schlicht die Programmdatei benutzen kann, und die nicht umständlich erst umbenennen muß. Die Section [Einstellungen] samt [DirektesUpdate] entfällt dadurch komplett. Um ein indirektes Update, also das Ganze über ein setup.exe durchzuführen, sieht die Sektion für Datei001 dann so aus: [Datei001] name=setup.exe ; die eigentliche Update-Datei, als Setup verpackt. Pfad= ; wird ins Programmverzeichnis kopiert. Start=1 ; wird, nach dem alles kopiert ist, ausgeführt. Hier bleibt dem Programmierer lediglich, die Setup.exe nach Programmstart von Hand zu löschen, da WebUpdate nicht weiß, daß es sich um eine Update-Datei handelt. Also z.B.
Code:
Die Batchdatei entfernt, um keinen Müll zu hinterlassen, gnadenlos alle Dateien in
UpdateName := ExtractFilePath (Application.ExeName) + 'setup.exe';
If FileExists (UpdateName) then DeleteFile (UpdateName); WebUpdateDateien und auch das verzeichnis selbst. Ebenso wurden das Demo und die Doku ein wenig überarbeitet - ich hoffe,zum Besseren hin. So. Ich warte, wieder, auf Lob, Kritik, Anregungen und sowas schönes alles! Einen schönen Abend! Marco p.s.: ach ja, ;-), geänderte Version, wie immer, im ersten Beitrag. |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Zitat:
Was genau brauchst du um mir zuhelfen Marco? ^^ |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hi,
hört sich an wie unterschiedliche Indy-Versionen. Mfg FAlter |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Was kann ich da machen?
|
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo,
Jetzt geht mir dieser Fehler wirklich auf den Geist. ;-) Den werden wir doch irgendwie behoben kriegen!!! Zitat:
Aber jetzt hab ich 'ne Frage: wie kann ich feststellen, welche Indy-Version läuft, also z.B. Compiler-Schalter, oder geht sowas mit Overload? Viele Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Delphi-Quellcode:
Also ich bin jetzt nich so der Delphi-Pro. Ich hoffe du meinst das so. Ich hab ne neue Anwendung gemacht dieses TIDHTTP draufgezogen und dann onwork definiert...
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) IdHTTP1: TIdHTTP; procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer); begin end; end. Das ist der Code (oben). "TWorkMode" wird mir als nicht deklarierter Bezeichner angezeigt. Ich hoffe ich kann dir helfen ... |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Liste der Anhänge anzeigen (Anzahl: 1)
Huhu Pif,
Zitat:
Ich häng dir hier mal eine geänderte WebUpdateThread.pas dran. Die bitte mal drüberkopieren und mir sagen, ob's jetzt geht! Dank dir und viele Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Ich muss dich enttäuschen.... Also ich bekomme den gleichen fehler immernoch. :wall:
Vllt. mache ich ja auch was falsch beim installieren. Ich mache ein neues Package. Dann füge ich unter "Enthält" WebUpdate.pas und WebUpdateThread.pas hinzu. Dann mach ich aufs Package rechtsklich und dann installieren. Dabei bringt er mir dann den fehler! MfG Pif |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Huhu,
Zitat:
Delphi-Quellcode:
Ändere die doch bitte mal so, daß das ganze {$ifndef} draußen ist, also die Zeile so aussieht:
procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode; {$IFNDEF Indy100} const {$ENDIF} AWorkCount: Integer);
Delphi-Quellcode:
Das gleiche gibt es dann weiter unten nocheinmal, bitte genauso verfahren.
procedure InternalOnWork (Sender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
Klappt es jetzt? Wenn du mir hilfst, wär' das echt klasse! Viele Grüße Marco |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:16 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