tidhttp event wird nicht ausgelöst



  • hey ich hab mal eine Frage
    Also ich versuche über Tidhttp zwei dateien nacheinander aus dem internet zu laden und will beides mal überprüfe ob sie die richtige größe haben bevor ich sie runterlade also reagiere ich auf das OnWorkBeginn ereigniss folgendermassen

    void __fastcall TForm2::IdHTTP1WorkBegin(TObject *Sender, TWorkMode AWorkMode, const int AWorkCountMax) 
    { 
    if (AWorkCountMax < 1000) throw \\\"Datei nicht auf dem Server\\\"; 
    }
    

    und dann mit

    try { 
    IdHTTP1->Get(*pURL, fs); 
    } 
    catch (char *Fehlerstring) 
    { /// 
    }
    

    Und beim ersten Mal kann ich die exception wie geplant abfangen aber beim zweiten mal direkt danach passiert nichts, obwohl die datei auch zu klein ist. ich glaube das OnWorkBegin ereigniss wird nicht ausgelöst. 😕



  • Aha ich hab schon die Lösung
    ich hab zwar absolut kein Plan warum aber so gehts
    (im OnWorkBeginn Event der idhttp komponente)

    if (AWorkCountMax < 1000) {IdHTTP1->EndWork(wmRead); throw "Datei nicht auf dem Server";}
    

Anmelden zum Antworten