![]() |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Zitat:
Zitat:
[EDIT] Habe jetzt 2 procedures (Download1 und Download2) in denen jeweils eine der 2 Datein heruntergeladen wird. Trotzdem der Fehler "Wert für IOHandler ist ungültig" Hier der Code:
Delphi-Quellcode:
procedure Download1;
var FileStream: TFileStream; URL: String; Name: String; Pfad: String; begin Pfad := (UserAppData) + '\.minecraft\texturepacks\'; ForceDirectories(Pfad); Name:='Premaidercraft '+Form1.Memo3.Lines[0]+'.zip'; URL:=Form1.Memo2.lines[0]; FileStream := TFileStream.Create(Pfad + Name, fmCreate); try try Form1.IdHTTP1.Get(Url, FileStream); except on E: Exception do Exception.Create('Fehler beim Runterladen!' + #13#10 + E.Message); end finally FileStream.Free; end; end; procedure Download2; var FileStream: TFileStream; URL: String; Name: String; Pfad: String; begin Pfad := IncludeTrailingPathDelimiter(UserAppData) + '\.minecraft\texturepacks\'; Name:='mcpatcher-'+Form1.Memo3.Lines[1]+'.exe'; URL:=Form1.Memo2.lines[1]; FileStream := TFileStream.Create(Pfad + Name, fmCreate); try try Form1.IdHTTP1.Get(Url, FileStream); except on E: Exception do Exception.Create('Fehler beim Runterladen!' + #13#10 + E.Message); end finally FileStream.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var Pfad: String; begin Download1; Download2; Pfad := IncludeTrailingPathDelimiter(UserAppData) + '.minecraft\texturepacks'; If CheckBox1.checked=true Then ShellExecute(Application.Handle,'open',PChar(Pfad + Memo3.Lines[0] + '.exe'),nil,PChar(Pfad),sw_ShowNormal); Memo1.Lines[17]:='skin:Premaidercraft '+Memo3.lines[0]+'.zip'; Memo1.Lines.SaveToFile(UserAppData + '\.minecraft\options.txt'); end; |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe es geahnt und habe das ganze Projekt schon mal gepackt.
|
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Zitat:
Also bei mir sieht es inzwischen so aus:
Delphi-Quellcode:
Ich bekomme bei idHTTP.get eine "Zugriffsverletzung" :(
procedure TForm1.Download(Url, Filename: AnsiString);
var FileStream: TFileStream; begin try IdHTTP1.Get(Url, FileStream); except on E: Exception do Exception.Create('Fehler beim Runterladen!' + #13#10 + E.Message); end; FileStream.Free; end; procedure TForm1.Button1Click(Sender: TObject); var Pfad: String; Name1: String; Name2: String; Ziel1: String; Ziel2: String; begin Button1.Caption:='Installing...'; Pfad := IncludeTrailingPathDelimiter(UserAppData) + '\.minecraft\texturepacks\'; Name1 :='Premaidercraft '+Memo3.Lines[0]+'.zip'; Name2 :='mcpatcher-'+Memo3.Lines[1]+'.exe'; Ziel1 := Pfad + Name1; Ziel2 := Pfad + Name2; try Download(Memo2.Lines[0], Ziel1); Download(Memo2.Lines[1], Ziel2); except on E: Exception do Button1.Caption:='Error while downloading'; end; If CheckBox1.checked=true Then ShellExecute(Application.Handle,'open',PChar(Pfad + Memo3.Lines[0] + '.exe'),nil,PChar(Pfad),sw_ShowNormal); Memo1.Lines[17]:='skin:Premaidercraft '+Memo3.lines[0]+'.zip'; Memo1.Lines.SaveToFile(UserAppData + '\.minecraft\options.txt'); end; |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Also da noch was kaputt zu machen ist schon eine Kunst. Warum hast du die Zeile gelöscht in der das FileStream Objekt erzeugt wird?
|
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Zitat:
Aber wenn ich den jetzt wieder einsetze, kommt nach dem Downloaden der Fehler "Wert für IOHandler ist ungültig". Wie ganz am Anfang auch :( Was ja auch bei deinem Beispiel beim Downloaden kam |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Auch wenn du die Exe ausgeführt hast?
|
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Zitat:
Bei mir hat nur die exe (zweite Datei) 0KB. Die erste stimmt. Ich denke auch deswegen wird die exe danach nicht ausgeführt. |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
.. wenn Du die zwei Dateien manuell per Webbrowser lädtst, sind dann beide in Ordnung?
Mag ja sein, dass die zweite Datei auf dem Server auch nur 0KByte hat. Kann schonmal passieren, wenn eine Binärdatei im Ascii-Mode hochgeladen wird. Grüße Klaus |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Zitat:
Edit: Gerade nachgeschaut. Auch per http-Links (der im Webbrowser funktioniert) hat die exe 0KB |
AW: Indy idHTTP - Downloadprozess - Wert für IOHandler ist ungültig
Zitat:
https - geht auf port 443 bei https ist die Übertragung per SSL/TLS verschlüsselt. Überprüfe einmal die Dateien auf dem Server (per FTP) auf Größe. Grüße Klaus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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-2025 by Thomas Breitkreuz