Delphi-PRAXiS
Seite 7 von 16   « Erste     567 89     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)

Marco Steinebach 3. Jul 2008 20:29

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Zitat:

Zitat von Pif
Wenn ich ein neues PAckage mache und die 3 units einfüge und es dann installieren will bekomme ich nen error:

requires
vclx,
vcl,
rtl;

was muss ich da machen? wo bekomme ich diese dateien her?

Ähm, steht da wirklich:
requires
vclx,
...
Willst du denn wirklcih 'n neues Package machen, oder die Kompo im Borland-Anwenderkomponenten-Package installieren, das Delphi schon mitbringt?
Was für'n Delphi und Indy fährst du?
Viele Grüße
Marco

Pif 3. Jul 2008 20:51

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
JO da steht

requires
vclx,
vcl,
rtl;


Ich habs bis jetzt immer so installiert. datei-> neu -> package
dann die units rein dann das package installiert. fertig.
Ich bin net sod er delphi experte, deshalb kenn ich nur den weg.

Ich hab delphi 2007 und glaub indy10

Cronen 3. Jul 2008 20:55

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab die Komponente jetzt bei mir in einem Projekt ausprobiert.
Alle anderen Update-Lösungen waren mir zu aufwendig oder zu kostspielig.
Also Danke Marco
Zum Erstellen der Info-Datei habe ich mir ein kleines Tool geschrieben.
Bitte testen.
Exe benötigt keine Installation, Source ist beigefügt.

Marco:
Kannst du der Komponente einen individuelleren Namen geben.
"TWebUpdate" wird von mehren anderen Herstellen auch verwendet
und Delphi meckert daher bei jeder Installation.
Ich nenne sie immer in TDPWebUpdate um (DP=DelphiPraxis)

Diamondback2007 4. Jul 2008 07:25

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Liste der Anhänge anzeigen (Anzahl: 1)
Naja okay dann lade ich mal meinen Update Creator hoch.
Man muss nur die Dateien auswählen und evtl. noch den Pfad einstellen und dann wird die Info-datei erzeugt und alles auf einen FTP-Server hochgeladen.
Mit Doppelklick auf eine Datei in der Liste kann man noch mal den Pfad ändern und angeben ob die Datei Start=1 bekommt.

Ihr müsst nur in der Settings.ini noch eure FTP-Daten eintragen.

fylo 4. Jul 2008 08:32

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Zitat:

Zitat von Pif
requires
vclx,

Ich habs bis jetzt immer so installiert. datei-> neu -> package
dann die units rein dann das package installiert. fertig.

Hallo,

das mach ich auch immer so. Ich hab in der Unit WebUpdate.pas in der Uses-Anweisung nach Implementation die Unit FileCtrl gelöscht und man braucht kein vclx mehr. :thumb:

Svenkan 8. Jul 2008 19:10

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Zitat:

Zitat von Cronen
Ich hab die Komponente jetzt bei mir in einem Projekt ausprobiert.
Alle anderen Update-Lösungen waren mir zu aufwendig oder zu kostspielig.
Also Danke Marco
Zum Erstellen der Info-Datei habe ich mir ein kleines Tool geschrieben.
Bitte testen.
Exe benötigt keine Installation, Source ist beigefügt.

Hey! Dein Tool sieht schonmal toll aus! Wenn ich allerdings den Source öffnen will, dann springt mein Delphi aus allen Wolken und fährt sich komplett fest (100% Auslastung). Und das find ich doch etwas sehr unpassend. ;)

Pif 20. Jul 2008 14:35

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Delphi-Quellcode:
fIdHTTP.OnWork := InternalOnWork;
[DCC Fehler] WebUpdateThread.pas(49): E2009 Inkompatible Typen: 'Liste der Parameter ist unterschiedlich


selbes Problem wie früher schon einmal. taucht wieder auf ... :/

Marco Steinebach 20. Jul 2008 14:38

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
huhu,
Zitat:

Zitat von Pif
Delphi-Quellcode:
fIdHTTP.OnWork := InternalOnWork;
[DCC Fehler] WebUpdateThread.pas(49): E2009 Inkompatible Typen: 'Liste der Parameter ist unterschiedlich


selbes Problem wie früher schon einmal. taucht wieder auf ... :/

hast du die WebUpdate.inc angepaßt? Also, wenn du Indy10 einsetzt, was der Fall sein dürfte, dann muß die Zeile mit Indy10 so aussehen:
{$DEFINE Indy10}
Du mußt also den Punkt forne wegnehmen, dann sollte es klappen.
Viele Grüße
Marco

Pif 20. Jul 2008 14:57

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Funktioniert =) DANKE

MfG

Cronen 20. Jul 2008 20:18

Re: TWebUpdate - eine neue WebUpdate-Komponente
 
Ich habe einen Wizard mit der Komponente gebastelt und dabei immer Fehlermeldungen bekommen.
Nach ca. zwei Stunden probieren und Scheuklappen vor den Augen habe ich den Fehler gefunden:

Fehler:
Ich hab die Methode CheckforUpdates 2x aufgerufen (wurde benötigt um im Wizard die Seiten zu wechseln und eine Fortschrittsanzeige zu realisieren. Beim Ermitteln von AllFileSize und beim Download gabs dann Fehlermeldungen.

Ursache:
fFiles enthielt mehr Dateien als in der Steuerdatei angegeben (und zwar am Ende mit leeren Dateinamen).
Da es Leernamen waren griff die Fehlerroutine nicht.

Lösung:
fFiles muß beim Aufruf von CheckforUpdates geleert werden. Hier der Code dazu:

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;

  ...
Jetzt funktionierts prima.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.
Seite 7 von 16   « Erste     567 89     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