Programm: "Keine Rückmeldung" bei FTPDownload beheben ?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
mark332
Beiträge: 202
Registriert: Do 16. Mai 2013, 13:49
OS, Lazarus, FPC: Windows 10 H.P. (x64) / Ubuntu 14.04.X
CPU-Target: AMD Octacore 4.0GHz

Programm: "Keine Rückmeldung" bei FTPDownload beheben ?

Beitrag von mark332 »

Hi Leute, ich habe ein Programm geschrieben, dass dem Nutzer mehrere Dateien aus einem FTP herunterlädt, leider zeigt windows immer beim Download von größeren Dateien "Keine Rückmeldung", da der Nutzer dann vermutlich denken könnte, dass
das Programm abgestürzt ist, ist mir daran gelegen, das zu verhindern...

Zum herunterladen nutze ich die Unit FTPSend und habe mir eine Function erstellt, um nicht für jede Datei, ein- und auszuloggen:

Code: Alles auswählen

 
function FTPDownload(const FileName, LocalFile: String): Boolean;
begin
 
  with FTPInstance do
  begin
       DirectFileName := LocalFile;
       DirectFile:=True;
       Result := RetrieveFile(FileName, False);
  end;
end; 
 
Eine Behebung dieses Problems ist nicht zwingend notwendig, da nach 1-3mins alles normal weitermacht, aber ich möchte verhindern, dass der Nutzer das Programm, im Glaube es sei abgestürzt, möglicherweise Terminiert...

MfG mark332

Benutzeravatar
theo
Beiträge: 11004
Registriert: Mo 11. Sep 2006, 19:01

Re: Programm: "Keine Rückmeldung" bei FTPDownload beheben ?

Beitrag von theo »


Benutzeravatar
h-elsner
Lazarusforum e. V.
Beiträge: 294
Registriert: Di 24. Jul 2012, 15:42
OS, Lazarus, FPC: LINUX Mint21.1, Win10, Lazarus 4.3, FPC3.2.3
CPU-Target: X86-64; arm 32bit
Wohnort: Illertissen
Kontaktdaten:

Re: Programm: "Keine Rückmeldung" bei FTPDownload beheben ?

Beitrag von h-elsner »

Auf jeden Fall Screen.Cursor auf crHourGlass setzen und wenn fertig wieder auf crDefault (am Besten mit einem try ... finally Block). Dann einen Timer auf dem Formular plazieren und alle 1-2 Sekunden beim Timerevent Application.ProcessMessages; ausführen.
Ggf. kann man damit auch noch eine Fortschrittsanzeige auf Verdacht machen.

edit: da war einer schneller und besser. Aber Application.Process Messages sollte irgendwo ausgeführt werden.

Gruß he

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Programm: "Keine Rückmeldung" bei FTPDownload beheben ?

Beitrag von Komoluna »

oder, du packst dem gesamten Download Codeabschnitt in einen Thread, das geht auf jeden fall... damit kannst du nicht nur das aufhängen des programms
verhindern, sondern sogar mehrere Downloads parallel laufen lassen...(pro Download 1 Thread), der Aufwand lohnt sich meist jedoch nicht...

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

mark332
Beiträge: 202
Registriert: Do 16. Mai 2013, 13:49
OS, Lazarus, FPC: Windows 10 H.P. (x64) / Ubuntu 14.04.X
CPU-Target: AMD Octacore 4.0GHz

Re: Programm: "Keine Rückmeldung" bei FTPDownload beheben ?

Beitrag von mark332 »

ok, Danke, ich habe das jetzt mit der Methode von h-elsner gemacht ... ;)
------------------------------------------------------------
Warum gibt es hier eigentlich kein [SPOILER][/SPOILER] ?

Antworten