Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi FTP hängt sich auf (https://www.delphipraxis.net/92529-ftp-haengt-sich-auf.html)

napsterxx 21. Mai 2007 20:31


FTP hängt sich auf
 
Also ich habe jetzt ne Download prog gecodet. Es downloaded über FTP, allerdings das Problem ist, es downloaded zwar die datei, aber sobald ich sage er soll sie downloaden und er beginnt, bleibt das programm hängen und man kann nichts mehr drücken, aber er downloaded trotzdem weiter. Kann sich das jemand erklären, und mir eine kleine hilfe für diese blöde sache geben? Danke euch

SirThornberry 21. Mai 2007 20:40

Re: FTP hängt sich auf
 
Reagiert das programm wieder wenn der Download beendet ist? Wenn ja ist es ganz normal. Anweisungen werden eben für gewöhnlich nacheinander ausgeführt:
-Anweisung1
-Anweisung2
-Anweisung3
etc.

Dein Download ist eine Anweisung wie jede andere auch. Wenn du mehrere Dinge gleichzeitig machen willst solltest du dir mal Thrads anschauen.

napsterxx 22. Mai 2007 14:24

Re: FTP hängt sich auf
 
Ja es reagiert^^. Threads danach hab ich gegoogelt aber echt nur Müll gefunden. 1.000.000 ergebnise naja den rest kann man sich denken. Wäre echt dankbar wenn das jemand erklären könnte. Im forum habe ich natürlich auch gesucht aber die suche hat nich das ergeben was ich wollte, bzw. was ich verstehe

Klaus01 22. Mai 2007 14:35

Re: FTP hängt sich auf
 
Nun vielleicht hilft Dir dieser Beitrag ein wenig weiter.

Grüße
Klaus

Luckie 22. Mai 2007 14:41

Re: FTP hängt sich auf
 
Guck mal hier: http://www.michael-puff.de/dirindex....phi/Tutorials/
oder auf http://www.dsdt.info

Die Muhkuh 22. Mai 2007 14:46

Re: FTP hängt sich auf
 
Falls Du die Indys benutzt, dann könntest Du auch mal ein TIdAntiFreeze auf die Form machen.

napsterxx 22. Mai 2007 15:00

Re: FTP hängt sich auf
 
Benutze ich habs getestet aber damit gehts auch nich

Die Muhkuh 22. Mai 2007 15:01

Re: FTP hängt sich auf
 
Zitat:

Zitat von napsterxx
Benutze ich habs getestet aber damit gehts auch nich

Reden wir von Indy9 oder Indy10?

Klaus01 22. Mai 2007 15:04

Re: FTP hängt sich auf
 
Zitat:

Zitat von napsterxx
Benutze ich habs getestet aber damit gehts auch nich

Wenn man nur einen Thread hat, den HaupThread der immer läuft, dann nützt meines
Erachtens der Einsatz von TidAntiFreeze nichts.

Grüße
Klaus

Die Muhkuh 22. Mai 2007 15:06

Re: FTP hängt sich auf
 
Hi,

ich nutze in einem Projekt auch die Indy9. TIdFTP auf die Form, TIdAntiFreeze auf die Form und schon hatte ich keinerlei Probleme mehr. Deswegen wundere ich mich, warum es bei ihm nicht geht.

napsterxx 22. Mai 2007 15:40

Re: FTP hängt sich auf
 
habe hauptthread und wie ändere ich den? ich benutze indy 10

Klaus01 22. Mai 2007 18:34

Re: FTP hängt sich auf
 
Zitat:

Zitat von napsterxx
habe hauptthread und wie ändere ich den? ich benutze indy 10

Den Haupthread kannst Du nur ändern, wenn Du Deine idFTP Instanzen in Threads auslagern würdest.

Was vielleicht auch noch helfen könnte, daß Dein Anwendung nicht einfriert.
Ist im onWork application.processMessages aufzurufen.

Grüße
Klaus

napsterxx 22. Mai 2007 18:40

Re: FTP hängt sich auf
 
THX alter damit gehts

napsterxx 22. Mai 2007 19:21

Re: FTP hängt sich auf
 
Was ich gerade gemerkt habe. Es geht, die anwendung freezed nicht, aber wenn ich wo draufklicken will, wird der download beendet;

SirThornberry 23. Mai 2007 14:01

Re: FTP hängt sich auf
 
ohne Quelltext können wir nur erraten woran es liegt.

Udontknow 23. Mai 2007 17:35

Re: FTP hängt sich auf
 
Hallo!

... Das ist das Problem mit Application.ProcessMessages, es ist eben nicht wirklich Parallelbetrieb.

Während du downloadest, rufst du innerhalb OnWork Application.ProcessMessages auf, und veranlasst Delphi damit, die Nachrichtenverarbeitung anzustossen, damit z.B. ButtonClick-Ereignisse ausgeführt werden. Wenn du nun aber z.B. währenddessen ein Fenster per ShowModal öffnest, unterbrichst du damit den Download, denn du befindest dich noch immer im Ereignis OnWork, und zwar von in OnWork aufgerufenen Subroutinen (OnWork->ProcessMessages->ButtonClick->Form.ShowModal usw.). Wahrscheinlich kommt es dann irgendwann zum Timeout auf der Gegenseite.

Mein Tipp: Wirklich das ganze in einen richtigen Thread auslagern.

Cu,
Udontknow

supermuckl 24. Mai 2007 20:20

Re: FTP hängt sich auf
 
korrekt.

mache eine neue thread unit

baue das eine create procedure ein, mit der du die informationen an den thread übergibst, die du für den download benötigst (also quelle ziel usw)

mache die thread unit in der main unit oder halt unit1 bekannt

im thread (also in der threadunit) musst du nur noch im onexecute einen idftpclient instanzieren, die datei damit downloaden
und alles wieder freigeben, was instanziiert wurde (sonst speicherlecks)

den thread dann einfach über den downloadbutton schlummernd createn und mit den informationen füllen
danach erst starten (threadvariable.resume;)
und dann rennt der thread im hintergrund und ladet runter - danach beendet er sich wieder oder du brichst ihn manuell ab mit threadvariable.terminate;

das ist so ziemlich alles was du machen musst
allerdings halt nicht ganz so einfach als anfänger -> thread tutoruals suchen oder vorhandene demos von den indys auseinander nehmen usw

Jelly 24. Mai 2007 20:34

Re: FTP hängt sich auf
 
Vielleicht kuckst du dir mal von meiner Seite die TInternetUpdate Komponente an, denn darum geht es dir ja wohl, wenn ich deine Frage in diesem Thread mal reinhänge.

Zum einen macht die genau das was du haben willst, läuft threadsicher und du kannst eventuell was im Code über Threads lernen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:33 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz