AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Indy FTP mit Progressbar
Thema durchsuchen
Ansicht
Themen-Optionen

Indy FTP mit Progressbar

Ein Thema von Walter Landwehr · begonnen am 26. Okt 2017 · letzter Beitrag vom 15. Okt 2019
Antwort Antwort
EWeiss
(Gast)

n/a Beiträge
 
#1

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 15:41
Zitat:
Der Wert in Progress bleibt immer gleich.
Ok! Aber destotrotz ein Application.ProcessMessages; ist der Tod für deine Progressbar
Diese sollte man nicht unterbrechen und nur aktualisieren wenn nötig.

Zitat:
und dich von FTP zu verabschieden.
Warum sollte er das tun wenn er einen FTP Server hat?
Das war aber auch nicht die frage.

gruss

Geändert von EWeiss (26. Okt 2017 um 15:44 Uhr)
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#2

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 15:57
Zitat:
Warum sollte er das tun
Weil es einfach unsicher ist irgendwelche Logindaten in eine Datei mit einzukompilieren.
Alles was man per FTP runterladen kann, kann man auch über HTTP runterladen.

Eine korrekt funktionierende Lösung habe ich oben bereits erwähnt.

Zitat:
Ok! Aber destotrotz ein Application.ProcessMessages; ist der Tod für deine Progressbar
Diese sollte man nicht unterbrechen und nur aktualisieren wenn nötig.
Das verstehe ich irgendwie nicht. Warum sollte das der Tod sein? Wir wissen ja nicht einmal, ob er einen Thread benutzt oder nicht.
Als Tod würde ich es nicht betrachten. Denn das ist es keinesfalls.
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 16:17
Zitat:
Warum sollte er das tun
Weil es einfach unsicher ist irgendwelche Logindaten in eine Datei mit einzukompilieren.
Alles was man per FTP runterladen kann, kann man auch über HTTP runterladen.

Eine korrekt funktionierende Lösung habe ich oben bereits erwähnt.
Du hast eine Lösung verlinkt, aber die macht etwas anderes. Um die Frage der Logindaten hast Du Dich komplett gedrückt. Der von Dir verlinkte Code lädt eine Datei via HTTPS herunter, nicht mehr und nicht weniger. Es ist grundsätzlich richtig, den Transportweg zu sichern. Aber den von Dir vorgebrachten Einwand mit den einkompilierten Logindaten hast Du selbst auch nicht behandelt.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 16:23
Zitat:
Warum sollte er das tun
Weil es einfach unsicher ist irgendwelche Logindaten in eine Datei mit einzukompilieren.
Alles was man per FTP runterladen kann, kann man auch über HTTP runterladen.

Eine korrekt funktionierende Lösung habe ich oben bereits erwähnt.

Zitat:
Ok! Aber destotrotz ein Application.ProcessMessages; ist der Tod für deine Progressbar
Diese sollte man nicht unterbrechen und nur aktualisieren wenn nötig.
Das verstehe ich irgendwie nicht. Warum sollte das der Tod sein? Wir wissen ja nicht einmal, ob er einen Thread benutzt oder nicht.
Als Tod würde ich es nicht betrachten. Denn das ist es keinesfalls.
Wenn du anstelle des zeichnen der Progressbar die Anwendung weiterhin ihr spielchen treiben lässt was glaubst wie genau
die anzeige der Progessbar dann noch ist? Bzw.. diese aktualisiert.

Hast du mal eine Progressbar unter Volllast einer Anwendung getestet?
Ich meine so was hier.
Glaubst du im ernst das die Progressbar jemals ihren Status ändert? Wenn du da noch mit ProcessMessages rum machst?

Denke nicht!
Wenn ich schon eine Progressbar in meine Anwendung integriere dann sollte ich diese nicht durch ProcessMessages blockieren.

Zitat:
Wir wissen ja nicht einmal, ob er einen Thread benutzt oder nicht.
Das hat nichts mit einem Thread zu tun.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:48 Uhr)
  Mit Zitat antworten Zitat
bra

Registriert seit: 20. Jan 2015
711 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#5

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 17:19
Application.ProcessMessages benötigt man teilweise gerade WEIL sich sonst die GUI nicht aktualisiert.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 17:39
Application.ProcessMessages benötigt man teilweise gerade WEIL sich sonst die GUI nicht aktualisiert.
Ja?
Dann hast du ein Design technisches Problem in deinem code.
Aber jeder wie er will.

Meine Programme freezen nicht.

gruss
  Mit Zitat antworten Zitat
Glados
(Gast)

n/a Beiträge
 
#7

AW: Indy FTP mit Progressbar

  Alt 26. Okt 2017, 18:37
Zitat:
Glaubst du im ernst das die Progressbar jemals ihren Status ändert? Wenn du da noch mit ProcessMessages rum machst?
Denke ich sehr wohl!
Was denkst du wie ich es mache? Genau so. Hat immer funktioniert und wird vermutlich noch ewig so funktionieren.

Zitat:
Meine Programme freezen nicht.
Meine auch nicht. Und ich benutze ProcessMessages, Wahnsinn

@Daniel keine Ahnung was du mir sagen möchtest. ist ja aber auch egal. Ich halte mich jetzt raus aus diesem Thema hier. Man bekommt ja eh nur aufs Maul.

Geändert von Glados (26. Okt 2017 um 18:40 Uhr)
  Mit Zitat antworten Zitat
Walter Landwehr

Registriert seit: 28. Mär 2006
Ort: 32816 Schieder-Schwalenberg
405 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Indy FTP mit Progressbar

  Alt 4. Nov 2017, 08:38
Oh, Oh Schande auf mein Haupt. Ich hatte doch tatsächlich diese Zeile im Code:
UpdaterFtp.OnWork := Nil; Kein Wunder das es nicht funktionierte. Dieser Fehler passiert mir nicht noch mal.
Walter Landwehr
Mfg

Walter
  Mit Zitat antworten Zitat
PiBi7

Registriert seit: 15. Okt 2019
4 Beiträge
 
#9

AW: Indy FTP mit Progressbar

  Alt 15. Okt 2019, 13:48
Hallo zusammen
Ja dieses Thema ist schon ziemlich alt, aber ich stehe nun auch vor diesem/einem ähnlichen Problem.

ein Klick auf den Button "btnDownload" auf einem FireMonkey Download-Form sollte auf einem Android-Tablet folgendes machen:
1. btnDownload.Enabled := False
2. ausblenden eines Textes
3. dafür einblenden eines Fortschrittbalken
4. die Datei per HTTP-Get herunterladen (TIdHTTP.Get())
5. während dem Download den Fortschrittsbalken nachführen

Sämtliche Änderungen am GUI (en-/disablen und Fortschritt) werden aber nur nachgeführt, wenn Application.ProcessMessages aufgerufen wird. In vielen Posts wird jedoch von der Verwendung von ProcessMessages bei Android wehement abgeraten. Hat jemand einen Vorschlag, wie hier richtig vorzugehen ist? Ich dachte mir, dass Indy das von sich aus mittels Thread löst und ich diesen Vorgang nicht auch noch in einen anderen Prozess Packen muss.

- Ist ProcessMessages doch richtig, oder wie kann man einen Refresh des GUI sonst noch auslösen (Refresh geht nicht)?
- Wird ProcessMessages in einer späteren Delphi-Version evtl. nicht mehr unterstützt?

Herzlichen Dank in die Runde
Patrik
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz