exe dateien downloaden?

06/07/2007 23:14 Haku#1
hiho... ich sitz in delphi atm an nem projekt. nu bin ich fast fertig, wollte nurnoch die kleine funktion reinmachen dass man nen link zu ner exe angibt und ein verzeichnis auf dem pc. was passieren soll kann man sich denken. das programm downloaded die exe und speichert sie in das angegebene verzeichnis.

wenn ich das ganze mit bildern oder so versuche geht das einwandfrei, exe dateien läd er jedoch nicht... das sind am ende logolose zu kleine dateien.

versucht hab ichs damit:
[Only registered and activated users can see links. Click Here To Register...]

hab auch gelesen dass man mit dem indy komponenten idHTTP daten laden kann wobei das bei mir auch nicht geklappt hat. wäre nett wenn jemand vorschläge hätte wie ich das am besten mache.
06/07/2007 23:56 reijin#2
warum machst du nicht einfach nen API call?
Code:
URLDownloadToFile_(0, URL$, path$, 0, 0 )
Infos gibts hier:
[Only registered and activated users can see links. Click Here To Register...]

Damit sollte es klappen :)
06/08/2007 01:11 Haku#3
hmm hab mir das nu eben mal angeguckt, aber der compiler jammert irgendwie^^
Code:
Uses ActiveX,urlmon


procedure TForm1.Button1Click(Sender: TObject);
var
URL,path:string;
 cDownStatus : cDownloadStatusCallback;
begin
 URL := 'mein link zu der exe';
 path := 'F:\datei.exe';
 URLDownloadToFile(0,URL,path,0,0);
end;
so hab ichs bis jetzt da stehen aber es geht nicht.
könntest du das evtl. bisschen besser erklären?
weil die anleitung find ich sehr komisch^^'

pCaller:If the calling application is not an ActiveX component, this value can be set to NULL

szURL&szFileName sollte klar sein.

dwReserved: Must be set to 0

lpfnCB:This can be set to NULL

hab ja an sich alles so dastehen wie es soll.
06/08/2007 16:02 reijin#4
ich weiß nicht, wie du in Delphi API Calls verwenden kannst....
vllt musst du (wie in Purebasic auch)
Code:
URLDownloadToFile_(0,URL,path,0,0)
schreiben (also mit _)
oder du musst was includen.. kA ich habe mich mit Delphi nie befasst^^
ich kann ja mal redox fragen :)
06/08/2007 16:11 rEdoX#5
Du musst ein paar typecasts machen:

Code:
var
 URL,path:string;
begin
 URL := 'mein link zu der exe';
 path := 'F:\datei.exe';
 URLDownloadToFile(nil,PChar(URL),PChar(path),0,nil);
end;
Dann sollte es gehen
06/09/2007 11:05 Haku#6
thx schonmal für die antworten. so fängt er zwar an zu downloaden jedoch kommt wieder das alte problem.. die datei ist 1,73kb groß. normal sollte sie 434kb groß sein. hab irgendwo mal gelesen dass es ne art freez gibt nach kurzer zeit, hat das vllt. was damit zu tun?
06/09/2007 11:26 rEdoX#7
Ein freeze ist mir unbekannt, ich denke das es daran liegt wie du die parameter uebergibst bzw. wo deine exe datei hoch geladen wurde. Ohne naehere infos kann ich dir da leider nicht weiterhelfen.
06/09/2007 11:30 Haku#8
also ich versuch gerade ne exe von meinem ftp zu laden (ohost.de)
und das komische is halt, hab das ja schon ewig probiert bevor ich hier gepostet hab, aber egal mit welcher möglichkeit ich es probiert hab, immer war die datei 1,73kb groß.
06/09/2007 12:01 rEdoX#9
Ich hatte mir eher andere infos erhofft, trotzdem versuche ich dir zu helfen.

Ich habe nach einer ohost seite gegooglt, hier ist der beispiel aufruf:

Code:
var
 URL,path:string;
begin
 URL := 'http://dzcpmods.dz.ohost.de/download/design/1.1/blackmagic.rar';
 path := 'D:\asdf.rar';
 URLDownloadToFile(nil,PChar(URL),PChar(path),0,nil);
end;
Bei mir funktioniert es einwandfrei, aber wie gesagt: ohne genauere infos kann ich dir nicht wirklich helfen...
06/09/2007 12:07 Haku#10
mit ner rar datei funzt es bei mir auch, dann muss es wohl an der exe liegen. was du genau mit näheren infos meinst weis ich jetzt nicht genau^^'
06/09/2007 12:23 rEdoX#11
Den link zu der exe datei die du laden willst oder eine andere exe auf deinem server.

Und ob rar oder exe sollte keinen unterschied machen.
06/09/2007 12:34 Haku#12
hab an sich keine festgelegte exe datei. aber hier mein ein beispiel:
edit:
ok... ich seh gerade -.- hab mal ne rar geuppt:


die exe gibt bei mir 404 fehler und die rar kann man normal downloaden. ich guck nu mal obs bei funpic anderst ist...
06/09/2007 12:48 rEdoX#13
Wenn ohost *.exe files block, dann bennene deine exe in DUC20.rar um, lade sie runter und bennene sie anschließend wieder in DUC20.exe um. Dann solltest du keine probleme mehr haben.
06/09/2007 13:08 Haku#14
jo klappt^^ thx redox

Code:
var
 URL,path:string;
begin
 URL := 'http://panicrew.pa.ohost.de/DUC20.rar';
 path := 'F:\datei.exe';
 URLDownloadToFile(nil,PChar(URL),PChar(path),0,nil);
end;
so siehts jetzt aus^^
und alles nur wegen nem scheiß ftp server <,< naja wieder ein bisschen schlauer^^

thx nochmal