Thema: Delphi Updater Errors :'(

Einzelnen Beitrag anzeigen

Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#2

Re: Updater Errors :'(

  Alt 7. Okt 2007, 17:45
Hi Berlinermauer,

ich hab deinen Code mal formatiert (Ordnung muss sein ) und dabei gleich den vorletzten Fehler gefunden/berichtigt. Dir fehlte ein "end;" und ein "else" war zuviel ...

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
     TSTREAMONLINEVERSION := TFileStream.Create('./data/OnlineVersion.ini', fmCreate);
     try
        Downloader.Get('http://www.gooooogle.de/Version.ini',TSTREAMONLINEVERSION);
     finally
     end;
     assignfile(Version,'./data/BatchMakerVersion.ini');
     rewrite(Version); // Öffne die Datei für den Schreib-Modus
     ReadLn(Version, ReadenVersion);
     CloseFile(Version);
     assignfile(Versionfrominternet,'./data/OnlineVersion.ini');
     rewrite(Versionfrominternet); // Öffne Datei für den Schreib Modus
     ReadLn(Versionfrominternet,ReadenVersion2);
     CloseFile(Versionfrominternet);
     If ReadenVersion < ReadenVersion2 then // Wenn die Version im Internet neuer ist ...
     begin
          // Frag benutzer nach Aktion und wenn Ja, dann update
          If MessageDlg('Es sind Updates vorhanden ! Sollen diese Jetzt Gedownloadet werden ?', mtConfirmation, [mbyes, mbno], 0) = mrYes then
          begin
               SetupPath := TFileStream.Create('./data/setup.exe', fmCreate);
               try
                  Downloader.Get('http://www.goooogle.de/BatchMaker/setup.exe',SetupPath);
               finally
               SetupPath.Free;
               // Gedownloadet ...
               MessageDlg ('Das Update Wurde Erfolgreich Heruntergeladen ... Der Installer führt sie durch das Update','Erfolg !');
               ShellExecute(Handle, nil, SetupPath, nil, PChar(CurrentDir), SW_NORMAL); // Starte die Setup.exe
               Form1.Close
               end;
          end Else MessageDlg('Abgebrochen. Sie Werden beim nächsten Start von Windows nocheinmal gefragt.', mtInformation, [mbOK], 0)
    end;
end;
"Readln" kannst du nur auf Textdateien anwenden, die ersten beiden Fehler verschwinden, wenn du "File" durch "Text" ersetzt.

Delphi-Quellcode:
var
  Form1: TForm1;
  Version: Text;//File;
  Versionfrominternet: Text;//File;
  ReadenVersion: String;
  ReadenVersion2: String;
  SetupPath: TStream;
  SetUPonlinePath: File;
  TSTREAMONLINEVERSION: TStream;
Die Variable "CurrentDir" kennt er nicht, was soll sie denn beinhalten,
eventuell lässt sie sich durch "ExtractFilePath(Application.exename)" ersetzen.

Hast du die Unit eingebunden, die "ShellExecute" enthält?


Ich hoffe dir geholfen zu haben,

MfG,
Bug
Intellekt ist das Verstehen von Wissen. Verstehen ist der wahre Pfad zu Einsicht. Einsicht ist der Schlüssel zu allem.
  Mit Zitat antworten Zitat