Downloadmanager



  • Wie in den Artikeln beschrieben musst du per FtpCommand den Befehl
    "REST (empfangene Datengröße in bytes)" schicken.



  • Und noch ein Kinken, der urplötzlich auftritt: 😞

    "The Stack around the variable name was corrupted"..

    Wenn ich dich richtig verstehe mache ich jetzt praktisch vor dem

    InternetOpenUrl
    

    erstmal folgendes:

    HINTERNET hFtpCommand = NULL;
    BOOL blRes = FtpCommand(open, TRUE, FTP_TRANSFER_TYPE_BINARY, _T("REST 50000"), NULL, &hFtpCommand);
    

    Wobei die 50000 dann der DWORD-Wert wäre, bis zu dem zuletzt innerhalb
    von ReadInternetFile die Datei geschrieben wurde?!



  • Joogel schrieb:

    Und noch ein Kinken, der urplötzlich auftritt: 😞

    "The Stack around the variable name was corrupted"..

    Nimm mal das

    name[buffer] = '\0';
    

    raus. Wenn buffer >= sizeof(name) ist, dann schreibst du ja hinter das Array, was nicht zulässig ist. Ich frage mich auch, wozu du das überhaupt drin hast. Du liest ja einfach nur plain data, hat also nix mit C-Strings zu tun.



  • Die Datei wird offenbar aus irgendeinem Grund nur mit "wb" aber nicht via
    "a" oder "a+" richtig geschrieben...



  • Wenn du's als binary brauchst, dann versuch's doch mal mit "ab" oder "a+b".



  • Danke 🙂 Du hast recht.

    Aber mit dem Pausieren des Download komme ich einfach nicht weiter.



  • Du kannst einen Download nicht pausieren, sondern nur abbrechen.

    Und das Resume hab ich Dir ganz am Anfang mit drei Links versucht zu zeigen...



  • Sei bitte ruhig. Wenn ich Hilfe von dir will, dann sage ich das schon. Mit so einer arroganten Haltung bekommst du bei mir und sicherlich bei anderen Forum-Usern keine Plus-Punkte.



  • Hi falscher Joogel. Es stimmt dass ich keinen Schritt weiter bin
    und sicher liegt es auch daran, dass ich kein Programmierer bin, sondern
    noch Schüler.

    Da JK immerhin helfen wollte und bei mir lediglich falsche Voraussetzungen
    erwartet, finde ich dein Posting einfach nur frech!

    Wenn du eine persönliche Abneigung gegen JK hast klär es mit deinem Usernamen
    und fertig!!

    Anhand der IP wird er als Mod eh sehen, dass ich nicht der bin der den Dreck
    gepostet hat....



  • Joogel schrieb:

    Es stimmt dass ich keinen Schritt weiter bin

    In dem letzten ;ink war ein Code-Snipsel drin:

    CString NetCmd;
    NetCmd.Format("noop\n\rrest %I64d\n\rretr %s",TotalGotSize,NetPathFile);
    if(!CMyFTP::Cmd(NetConn,NetCmd,hNetResponse)){ //throw &NetGetFaultTolerant;
    }
    OpenFile4Append(LocalPathFile,LocalFile);
    #define BufferSize _1K2_
    char Buffer[BufferSize]; DWORD ChunkGotSize=0;
    while(true){
    FaultTolerantX(NetGetFileFault,"FTP get file");
    if(!InternetReadFile(hNetResponse,Buffer,BufferSize,&ChunkGotSize)){
    // ...
    

    So sollte es eigentlich gehen... hab es aber noch nicht probiert... sorry...

    Joogel schrieb:

    Anhand der IP wird er als Mod eh sehen, dass ich nicht der bin der den Dreck gepostet hat....

    Jau...



  • So kann es gehen. Ich habe mich auf den Beitrag konzentriert und
    gar nicht gesehen, dass du ursprünglich den Beitrag in der Diskussion
    des Links meintest.

    Ich probiere das jetzt mal so aus.

    👍


Anmelden zum Antworten