Entwickler-Ecke
Internet / Netzwerk - Form bleibt bis download beendet gleich
Xearox - Mo 11.01.10 07:40
Titel: Form bleibt bis download beendet gleich
so folgendes...
Ich habe eine Unit zum Downloaden angelegt.
Soweit ja alles okay, Dateien werden downgeloadet, alles kein Thema...
Aber...
Ich habe 3 Panels(für 3 Dateien) angelegt, nun ist das Problem, das die Panels nicht Aktuallisiert werden.
Der Code dazu lautet(hab da was bei google gefunden, geht aber irgendwie nicht):
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| IdFTP1.Get('EEExtractor.exe', (ExtractFilePath(ParamStr(0)) + 'EEExtractor.exe'), true); Panel1.Color:=clgreen; Panel1.Caption:=('Fertig'); Form2.update; IdFTP1.Get('Launcher.exe', (ExtractFilePath(ParamStr(0)) + 'Launcher.exe'), true); Panel2.Color:=clgreen; Panel2.Caption:=('Fertig'); Form2.update; IdFTP1.Get('Updater.exe', (ExtractFilePath(ParamStr(0)) + 'Updater.exe'), true); Panel3.Color:=clgreen; Panel3.Caption:=('Fertig'); Form2.update; |
Hat hier jemand eine Lösung?
Moderiert von
Narses: Topic aus Sonstiges (Delphi) verschoben am Mo 11.01.2010 um 10:26
platzwart - Mo 11.01.10 10:55
Versuchs mal mit Form2.Refresh; Ansonsten: ist es wirklich die Form2 ?
Narses - Mo 11.01.10 11:27
Moin!
Das Verhalten ist völlig normal, da die Indy-Kompos mit blocking-socket-calls arbeiten. Du musst die Downloads in einen Thread auslagern (gibt zwar noch diese IdAntifreeze Frickelei, aber das ist Müll). :idea: ;)
cu
Narses
Xearox - Di 12.01.10 05:53
Xearox hat folgendes geschrieben : |
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| IdFTP1.Get('EEExtractor.exe', (ExtractFilePath(ParamStr(0)) + 'EEExtractor.exe'), true); Panel1.Color:=clgreen; Panel1.Caption:=('Fertig'); Form2.update; IdFTP1.Get('Launcher.exe', (ExtractFilePath(ParamStr(0)) + 'Launcher.exe'), true); Panel2.Color:=clgreen; Panel2.Caption:=('Fertig'); Form2.update; IdFTP1.Get('Updater.exe', (ExtractFilePath(ParamStr(0)) + 'Updater.exe'), true); Panel3.Color:=clgreen; Panel3.Caption:=('Fertig'); Form2.update; |
|
so, die lösung war eine einfache Sache, einfach Panel1.update, panel2.update, und Panel3.Update ändern...
so einfach...
Hab 2 Tage jetzt dran gesessen, und die lösung war so einfach :(
Narses - Di 12.01.10 11:28
Moin!
Xearox hat folgendes geschrieben : |
so, die lösung war eine einfache Sache, einfach Panel1.update, panel2.update, und Panel3.Update ändern...
so einfach...
Hab 2 Tage jetzt dran gesessen, und die lösung war so einfach :( |
Nein, das ist keine "Lösung", bestenfalls ein Workaround, und zwar ein schlechter. Versuch doch mal während des Downloads das Fenster zu verschieben... :roll:
cu
Narses
Bergmann89 - Di 12.01.10 17:21
Hey,
da geb ich Narses recht, die einzige sinnvolle Lösung ist hier n Thread. Man muss sich kurz rein fitzen aber am ende is es eigentlich ganz easy. Ich habs auch erst mit haufen Updates und ProgressMessages probiert aber es hat nie so richtig funktioniert!
MfG Bergmann
Xearox - Di 12.01.10 18:30
ich kann, während ich auf den Download Button klicke, nichts machen, sobald ich in das fenster rein Klicke, steht oben, keine Rückmeldung...
Also es geht garnichts...und dann kommt das Fenster von Windows, Auf Prgramm warten oder Programm schließen...
elundril - Di 12.01.10 18:38
genau deswegen sollst du es auch in einen Thread packen ;)
lg elundril
Xearox - Di 12.01.10 19:26
und wie mache ich das?
Bergmann89 - Di 12.01.10 19:53
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!