![]() |
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
|
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. |
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
|
Re: FTP hängt sich auf
|
Re: FTP hängt sich auf
|
Re: FTP hängt sich auf
Falls Du die Indys benutzt, dann könntest Du auch mal ein TIdAntiFreeze auf die Form machen.
|
Re: FTP hängt sich auf
Benutze ich habs getestet aber damit gehts auch nich
|
Re: FTP hängt sich auf
Zitat:
|
Re: FTP hängt sich auf
Zitat:
Erachtens der Einsatz von TidAntiFreeze nichts. Grüße Klaus |
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. |
Re: FTP hängt sich auf
habe hauptthread und wie ändere ich den? ich benutze indy 10
|
Re: FTP hängt sich auf
Zitat:
Was vielleicht auch noch helfen könnte, daß Dein Anwendung nicht einfriert. Ist im onWork application.processMessages aufzurufen. Grüße Klaus |
Re: FTP hängt sich auf
THX alter damit gehts
|
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;
|
Re: FTP hängt sich auf
ohne Quelltext können wir nur erraten woran es liegt.
|
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 |
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 |
Re: FTP hängt sich auf
Vielleicht kuckst du dir mal von meiner Seite die
![]() ![]() 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 05:21 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 by Thomas Breitkreuz