Delphi-PRAXiS
Seite 8 von 16   « Erste     678 910     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)

Diamondback2007 21. Jul 2008 10:27

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Kleiner Tipp zur Optmierung noch, ist mir grade so beim Durchlesen aufgefallen:
Delphi-Quellcode:
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;

  ...
Hier setzt du dir sage und schreibe 4 Mal den Wert für
Delphi-Quellcode:
'File'+null(SectionCount, 3)
neu zusammen. Speicher ihn doch in einer Variablen, dann hast dus einfacher und schneller ists auch noch. :)

Marco Steinebach 21. Jul 2008 11:31

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

Diamondback2007 21. Jul 2008 11:43

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Super :)

Marco Steinebach 21. Jul 2008 17:42

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

Svenkan 26. Jul 2008 11:46

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:

Im Projekt vplan_update.exe ist eine Exception der Klasse EConvertError aufgetreten. Meldung: ''' ist kein gültiger Integerwert.'
Ich habe einfach die Komponenten ausgetauscht und am Code weiter nichts verändert.

Marco Steinebach 26. Jul 2008 12:22

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

Svenkan 26. Jul 2008 12:49

Re: TMSWebUpdate - eine neue WebUpdate-Komponente
 
Kein Problem: http://kallage.de/vplan/vplan/update_plus/update.ini

Marco Steinebach 26. Jul 2008 13:40

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

Svenkan 26. Jul 2008 21:07

Re: TMSWebUpdate - eine neue WebUpdate-Komponente
 
Hallo Marco,

das Problem tritt in der Unit WebUpdate Zeile 402/403

Delphi-Quellcode:
procedure TMSWebUpdate.CheckForUpdates;

....

  ma := StrToInt (copy(lv, 1, pos('.',lv)-1));
  delete (lv, 1, pos('.', lv));

...
auf.

In der Demo klappt der Download soweit wunderbar, bis auf die Zeitüberschreitung, die ich beim ersten Update-Versuch erhalte.

Marco Steinebach 26. Jul 2008 23:11

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.
Seite 8 von 16   « Erste     678 910     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