AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Problem beim webupdate
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim webupdate

Ein Thema von CalganX · begonnen am 7. Dez 2002 · letzter Beitrag vom 8. Dez 2002
 
CalganX

Registriert seit: 21. Jul 2002
Ort: Bonn
5.403 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem beim webupdate

  Alt 7. Dez 2002, 20:08
Hi,
ich habe gerade angefangen eine Prozedur für ein Webupdate zu schreiben. Alles läuft, allerdings lädt er nicht die Dateien runter, obwohl sie vorhanden und im richtigen Verzeichnis liegen...
Folgender Source:

Delphi-Quellcode:
procedure TForm1.lookForUpdate1Click(Sender: TObject);
var
  updateFile: TIniFile;
  aktVer, newVer: String;
  VersionFile: TextFile;
  FileCount: integer;
  FileList: TStringlist;
  offFileList: TStringList;
  i: integer;
  MainFile: String;
begin
  if FileExists(ExtractFilePath(Application.ExeName)+'update\updateload.inf') then
    DeleteFile(ExtractFilePath(Application.ExeName)+'update\updateload.inf');
  try
    URLDownloadToFile(nil, 'http://www.chris-harms.de/sites/projects/updates/CodeLib.inf', PChar(ExtractFilePath(Application.ExeName)+'update\updateload.inf'), 0, nil);
  except
    MessageDlg('Fehler beim downloaden der Update-Informationsdatei!'+#13+#10+'Download wird abgebrochen!', mtError, [mbOK], 0);
    exit;
  end;

// load current version
  AssignFile(VersionFile, ExtractFilePath(Application.ExeName)+'version.clf');
  Reset(VersionFile);
  readln(versionFile, aktVer);
  CloseFile(VersionFile);

// load updated version
  updateFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'update\updateload.inf');
  try
    newVer := updateFile.ReadString('update', 'newVersion', aktVer);
  finally
    updateFile.Free;
  end;

// check version-difference
  if aktVer = newVer then begin
    MessageDlg('Es ist keine neuere Version vorhanden!', mtInformation, [mbOK], 0);
    Exit;
  end;

  try
    updateFile := TIniFile.Create(ExtractFilePath(Application.ExeName)+'updates\updateload.inf');
    FileList := TStringList.Create;
    offFileList := TStringList.Create;
    try
      FileCount := updateFile.ReadInteger('files', 'count', 0);
      FileList.Sorted := true;
      MainFile := updateFile.ReadString('files', 'mainfile', '');
      for i:=1 to FileCount do begin
        FileList.Add(updateFile.ReadString('file'+IntToStr(i), 'filename', ''));
      end;
      for i:=0 to FileList.Count - 1 do begin
// ForceDirectories(ExtractFilePath(Application.exeName)+'updates\'+newVer+'\');
        URLDownloadToFile(nil, PChar('http://www.chris-harms.de/sites/projects/updates/'+newVer+'/'+FileList[i]), PChar(ExtractFilePath(Application.exeName)+'update\'+FileList[i]), 0, nil);
        offFileList.Add(ExtractFilePath(Application.exeName)+'update\'+FileList[i]);
      end;
    finally
      updateFile.Free;
      FileList.Free;
    end;
  except
    MessageDlg('Fehler beim updaten der Dateien!'+#13+#10+'Update wird abgebrochen!', mtError, [mbOK], 0);
    exit;
  end;
  if MessageDlg('Es wurde eine aktuelle Version ('+newVer+') heruntergeladen.'+#13+#10+'Soll diese jetzt installiert werden?', mtWarning, [mbYes,mbNo], 0) = mrNo then begin
    DoFileWork(self.Handle, FO_DELETE, offFileList, nil, FOF_NOERRORUI);
    Exit;
  end;

  ShellExecute(0, 'open', PChar(ExtractFilePath(Application.exeName)+'update\'+MainFile), nil, nil, SW_SHOWNORMAL);
  offFileList.Free;
  Close;
end;
Hoffe auf schnelle Hilfe,
Chris
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:18 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 by Thomas Breitkreuz