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