Cześć
Proszę o pomoc i wyjaśnienie pewnej kwesti.
Otóż pobieram pliki z serwera FTP przy użyciu komponentu Indy.
Przykład:
//poniższe umieściłem w WĄTKU...
IdFTP1.Get('Plik.bmp','c:\Plik.bmp,False); //tu pobieram
//a tu po pobraniu chcę ten plik wyświetlić lub coś z nim zrobić np.zmienić nazwę
Z mniejszymi plikami do 1 mega jest ok, po pobraniu przechodzi do następnej instrukcji i wykonuje z tym plikiem co tylko ja chce.
Ale z plikami WIĘKSZYMI do ściągnięcia - ściąga je w całości i zatrzymuje się w lini
z IdFTP1.Get('Plik.bmp','c:\Plik.bmp,False);
Nie wykonując dalszych instrukcji.
Poradziłem sobie tak:
Umieściłem dalsze instrukcje w procedurze zakończenia transferu:
PROCEDURE TForm1.IdFTP1WorkEnd(Sender: TObject; AWorkMode: TWorkMode);
Begin
//w tym miejscu instrukcje do wykonania po zakończeniu transferu...
end;
Ale problem z dostępem do ściągniętego dużego pliku pozostał :(
Nawet z poziomu eksploratora nie mogę nazwy zmienić ..a mowa uruchomić wywołując go moim programie.
Gdy wyłącze mój program - problem znika i mogę dokonywać operacji na pliku.
Myślałem że to wina zwieszki we wątku. Więc zrobiłem mały test...
jakimś tam buttonem dodatkowym zamykałem wątek ... i nic nie pomaga:(
Proszę o wyjaśnienie tej przyczyny i o jakąś wskazówkę.