Re: TWebUpdate - eine neue WebUpdate-Komponente
Kleiner Tipp zur Optmierung noch, ist mir grade so beim Durchlesen aufgefallen:
Delphi-Quellcode:
Hier setzt du dir sage und schreibe 4 Mal den Wert für
procedure TWebUpdate.CheckForUpdates;
... ini := TIniFile.Create (fTempDir + IniName); ma := ini.ReadInteger ('Version', 'Major', 0); mi := ini.ReadInteger ('Version', 'Minor', 0); re := ini.ReadInteger ('Version', 'Release', 0); bu := ini.ReadInteger ('Version', 'Build', 0); SetLength (fFiles,0); // <-- Diese Zeile neu eingefügt SectionCount := 1; FileCount := 0; while Ini.SectionExists ('File'+null(SectionCount, 3)) do begin s := ini.ReadString ('File'+null(SectionCount, 3), 'Name', ''); if LinkExists (fUpdateURL + s) then begin SetLength (fFiles, Length(fFiles)+1); with fFiles[FileCount] do begin name := s; Path := ini.ReadString ('File'+null(SectionCount, 3), 'Path', ''); if ((Path <> '') and (copy (Path, Length(Path)-1, 1) <> '\')) then Path := Path + '\'; if fStartname = '' then if ini.ReadBool ('File'+null(SectionCount, 3), 'Start', false) then fStartname := name; end; FileCount := FileCount + 1; end else if Assigned (OnError) then OnError (self, TWU_FileNotFound, s); SectionCount := SectionCount + 1; end; ini.Free; ...
Delphi-Quellcode:
neu zusammen. Speicher ihn doch in einer Variablen, dann hast dus einfacher und schneller ists auch noch. :)
'File'+null(SectionCount, 3)
|
Re: TWebUpdate - eine neue WebUpdate-Komponente
Hallo zusammen,
keine Angst, ich leb noch und auch TWebUpdate noch. ;-) Ich werd' die ganzen Vorschläge einbauen, ich hoffe, daß ich im Laufe der Woche dazu komme. Also: Code-Optimierung, Den Fehler mit dem SetLength (FFiles)... der Name wird sich übrigens in TMSWebUpdate ändern, das ist dann hoffentlich die letzte Änderung bei der man mehr tun muß als das Package neu zu kompilieren, und mal schauen zu was, von den anderen guten Vorschlägen, ich komme. Bis dahin viele Grüße Marco |
Re: TWebUpdate - eine neue WebUpdate-Komponente
Super :)
|
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hallo zusammen,
Als erstes möchte ich mich für die vielen Anregungen und Verbesserungsvorschläge ganz herzlich bedanken. etwas früher als erwartet, hier die Version 1.10.1 vom 21.07.2008. Neuerungen in V1.10.1 vom 21.07.2008 Die gute alte TwebUpdate heißt jetzt TMSWebUpdate (MS, wer hätte es gedacht, für Marco Steinebach), damit sie leichter von anderen Komponenten unterscheidbar ist. Ich hoffe, jetzt gibt’s nur noch Updates, bei denen es damit getan ist, einfach das Package neu zu kompilieren. ;-) Ein neues Ereignis OnNextFile ist dazugekommen. Es wird ausgelöst, wenn die nächste Datei, wirklich, heruntergeladen wird. Im Fehlerfall wird es nicht ausgelöst. Dem Ereignis werden die Nummer der Datei, die heruntergeladen wird, beginnend bei 0, und ihr Name mitgegeben. Das Demoprogramm wurde erweitert, um das o.b. Verhalten zu verdeutlichen. Das Problem mit mehrfachem Aufruf, wurde beseitigt. Einiges an Code-Optimierungen durchgeführt. Überflüssige Unit-Aufrufe raus! Wenn Dateien in ein Unterverzeichnis auf der Festplatte downgeloaded werden sollen, müssen sie auf dem FTP-Server im gleichen Unterverzeichnis liegen. Also: in der Info-Datei der Demo-Version wird die Datei Testdatei.txt heruntergeladen, und auf platte ins Verzeichnis Verschiedenes, unterhalb des Programmverzeichnisses, gepackt. Damit das geht, muß sie auf dem FTP-Server im Unterordner „Verschiedenes“ liegen, der unterhalb des von UpdateURL angegebenen Verzeichnisses liegt. UpdateURL: www.odissa.de/programme/updates/UpdateTest (also das Hauptverzeichnis). Testdatei.txt liegt in http://www.odissa.de/programme/updat.../Verschiedenes. Bitte achtet UNBEDINGT darauf, dass ihr, wenn ihr einen Unix-FTP-Server habt, die Groß-/Kleinschreibung beachten müsst. Viel spaß und, wie immer, her mit Lob, Kritik und Anregungen. Herzliche Grüße Marco |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hallo Marco,
ich habe soeben auf die neue Version geupdated. Allerdings erhalte ich beim Abrufen der aktuellen Version nun die Fehlermeldung: Zitat:
|
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hallo,
Schickst du mir mal deine Info-Datei? Vielleicht hab ich was bei der Updatebeschreibung vergessen zu schreiben? ... Viele Grüße Marco |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Kein Problem: http://kallage.de/vplan/vplan/update_plus/update.ini
|
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Huhu,
Tja, die Datei sieht, wie erwartet, so aus, wie sie soll. Okay, dann anders: kannst du mal per (einzelne Anweisung) schauen, wo der Fehler, wann auftritt? Also welche prozedur, bei welcher Codezeile, oder bei welchem Ereignis? Viele Grüße Marco |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Hallo Marco,
das Problem tritt in der Unit WebUpdate Zeile 402/403
Delphi-Quellcode:
auf.
procedure TMSWebUpdate.CheckForUpdates;
.... ma := StrToInt (copy(lv, 1, pos('.',lv)-1)); delete (lv, 1, pos('.', lv)); ... In der Demo klappt der Download soweit wunderbar, bis auf die Zeitüberschreitung, die ich beim ersten Update-Versuch erhalte. |
Re: TMSWebUpdate - eine neue WebUpdate-Komponente
Huhu Svenkan,
Hast du bei dir unter Projekt / Optionen / Versionsinfo / Versionsnummer ins Projekt übernehmen aktiviert? Gruß Marco |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:19 Uhr. |
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