ďťż

Ładny brzuch

Hey.
Mam problem.
Używam dwa razy GET. Pierwszy GET po prostu daje serwerowi znać, że chcę coś pobrać.
Drugi GET - serwer odsyła mi "Location:" z lokalizacją pliku (link bezpośredni), problem polega na tym, że idHttp pobiera mi ten plik, a tego nie chcę!
Tak więc w buttonie nie wpiszę dwóch GETów, a po nich przerwanie jednego bo GET najpierw się wykona w całości, a dopiero potem przejdzie do następnej linii kodu.
(czyli np:
idHttp1.Get('coś tam');
Form1.Caption:= 'zzz';

Dopiero jak w całości link mi zassie to zmieni się Caption.

No to wpadłem na dziwny pomysł z wątkiem.
Drugi GET odpalam w wątku (kod na odpalanie wątku jest w Buttonie, a pod nim Sleep(20); i terminate wątku). W praktyce wygląda to tak -> klikam w button, dostaję od serwera ten "Location: <tu link>" i wątek jest zabijany... niestety drugie kliknięcie w button powoduje wyświetlenie błędu, że idHttp utracił połączenie, muszę kliknąć po raz koleny by wykonać tę operację ponownie, a tego nie chcę. (Zamierzam coś w pętli wykonywać xx razy z innymi zapytaniami).

Jak rozwiązać ten problem? Zależy mi tylko i wyłącznie na odebraniu tego tekstu "Loaction: <adres url>" i to wszystko, ale te wyżej wymienione sposoby nie sprawdzają się zbyt dobrze, a zatem proszę was o pomoc.

//edit
Widzę, że idHttp1.Disconnect; coś nie działa zarówno w buttonie jak i w wątku..., a jak stworzę specjalnie dodatkowy button i kliknę to dopiero wtedy działa... Nie rozumiem tego.
(Do sprawdzenia tego użyłem connected + wyświetlanie info w Captionie formy, bez kliknięcia w button stale jest podłączony).
Użytkownik le_vampire edytował ten post 17 sierpień 2009, 22:25


Już rozwiązałem swój problem.
Pozbyłem się podłego idHTTP, skorzystałem z socketów. 100x lepsze, wygodniejsze, większa kontrola nad wszystkim i masz tylko to co chcesz.

Topic można usunąć, nie ma w nim żadnych użytecznych informacji, bardziej przypomina spam.
Użytkownik le_vampire edytował ten post 18 sierpień 2009, 13:55
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •