idFTP - wstrzymywanie kompa w czasie uploadu

0

Męczę się już z tym od dłuższego czasu i nie mogę sobie poradzić.
Zrobiłem wszystko wg opisu z artykułów o INDY, poprawiałem na różne sposoby, przeszukałem neta, ale nic nie rozwiązuje mojego problemu.
Mianowicie, w czasie wysyłania pliku na serwer kompletnie zatrzymuje się działanie nie tylko programu, ale i całego systemu. Jedyne co można w tym czasie zrobić to ruszać myszką, ale nie mam mowy nawet o zaznaczeniu ikonek na pulpicie.. System staje się jakby zamrożony.
Problem ustaje zaraz po wysłaniu pliku, albo (i to ciekawe) po kliknięciu CTRL+ALT+DELETE (nie trzeba wtedy już nic robić).

Pytanie.. Czym jest spowodowane takie blokowanie systemu?
Próbowałem użyć idAntiFreeze i dodawałem wszędzie Application.ProcessMesseges, ale to nic nie daje.
Zmieniałem na tryb pasywny - również to samo.

Pomocy, bo już ledwo przez to wyrabiam:P
z góry dzięki. :)

0

Właściwie to nawet jak coś jest wyświetlane na etykiecie to dzieje się to samo tylko że jest to tak szybki proces, że jest to niewidoczne.
Aby rozwiązać problem poczytaj o programowaniu wielowątkowym. Na tej stronie jest dużo artów o wątkach i klasie TThread.
Właściwie to warto się tego nauczyć bo każdy poważniejszy program dla Windows korzysta w wielowątkowości. Nawet przeglądarka internetowa z której właśnie korzystasz.

Jest nawet link:
http://4programmers.net/Delphi/Kompendium/Rozdzia%C5%82_8</url>

0

spróbuj dorzucić TAntiFreeze czy jakoś tak... (pakiet indy)

0

po prostu indy to dziadostwo, problem był poruszany niejednokrotnie ale nikt nie znalazł zadowalającego rozwiązania poza zmianą indy na cokolwiek innego

0
Misiekd napisał(a)

po prostu indy to dziadostwo, problem był poruszany niejednokrotnie ale nikt nie znalazł zadowalającego rozwiązania poza zmianą indy na cokolwiek innego

Przy okazji, żeby nie zakładać nowego tematu, w synapse istnieje możliwość pobrania pliku z ftp?
Jeśli tak to w jaki sposób, bo w przykładach nie widzę takiego, ani modułu w stylu FtpGet...?

pozdrawiam

0

TFTPSend.RetrieveFile

0

Ja mimo wszytko proponuję skorzystać z wielowątkowości. Indy śmiga wtedy tak jak potrzeba.

0

HiHi! Widzę że sami eksperci w dziedzinie. Nie chce mi się rozpisywać - użyć polecenia
Application->ProcessMessages(); w FtpWork w Events komponentu! Pomogło! :) Programiści.

1 użytkowników online, w tym zalogowanych: 0, gości: 1