![]() |
Fehlerhafte Progress anzeige
Hallo,
ich lade per Tidhttp Komponente Dateien aus dem Internet, den Fortschritt lass ich mir mit einer Progressbar anzeigen. Bei ca. 20 MB springt die Prgressbar einfach auf 0 und fängt erst bei den letzten MB von vorne an. Ich nutze die TAdvProgressBar und folgenden code:
Delphi-Quellcode:
Vielleicht ist dieser fehler ja schon bekannt und mir kann einer weiterhelfen.
procedure TForm6.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Integer); begin Progress.Position := AWorkCount*100 div IdHTTP1.Response.ContentStream.Size; application.ProcessMessages; end; |
Re: Fehlerhafte Progress anzeige
Setzt du auch den Maxwert deiner Progressbar ?
Hast du es mal mit der TProgressbar probiert ? |
Re: Fehlerhafte Progress anzeige
Ahh da kam mir jetzt die Idee, ich versuche es mal folgendermaßen:
Delphi-Quellcode:
Da hätte ich auch direkt drauf kommn können.
procedure TForm6.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Integer); begin Progress.Position := AWorkCount; application.ProcessMessages; end; procedure TForm6.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode; AWorkCountMax: Integer); begin Progress.Max:=IdHTTP1.Response.ContentStream.Size; end; |
Re: Fehlerhafte Progress anzeige
Hi,
Delphi-Quellcode:
Kannst hier auch "AWorkCountMax" benutzen ;)
procedure TForm6.IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
AWorkCountMax: Integer); begin Progress.Max:=AWorkCountMax; end; |
Re: Fehlerhafte Progress anzeige
Ich habe es gerade ausprobiert, funktioniert einwandfrei :) . Da habt ihr mich mal wieder auf den richtigen Weg gebracht, ihr seid echt die besten.
|
Re: Fehlerhafte Progress anzeige
Ich weis net ob ich zu blöd dafür bin aber ich wolt das ausprobiren und es kommt die meldung:
[Fehler] Unit1.pas(43): Undefinierter Bezeichner: 'IdHTTP1Work'
Delphi-Quellcode:
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Integer); begin Progress.Max:=AWorkCountMax; Progress.Position := AWorkCount; end; |
Re: Fehlerhafte Progress anzeige
Hast Du eine Komponente vom Typ TIdHTTP auf der Form? Hast Du dieser das Event zugewiesen?
|
Re: Fehlerhafte Progress anzeige
Hattest du nicht das selbe Problem in einem anderen Thread?
|
Re: Fehlerhafte Progress anzeige
Zitat:
|
Re: Fehlerhafte Progress anzeige
Doppelklick im OI auf das entsprechende Ereignis.
|
Re: Fehlerhafte Progress anzeige
Zitat:
|
Re: Fehlerhafte Progress anzeige
Fahr mal mit der Maus drüber? :zwinker:
|
Re: Fehlerhafte Progress anzeige
Zitat:
Ich weis net wo ich da des Ereignis finde Ok ich hab das ereigniss im OI gefunden. was mus ich da reinscheiben? Aha Erlebnis. hatt sich erledigt |
Re: Fehlerhafte Progress anzeige
Auf Ereignisse wechseln und dann bei onWork
einfach Doppelklick, dann legt die IDE die Methode an und verbindet diese mit dem Event. |
Re: Fehlerhafte Progress anzeige
Den Code? :roll:
[edit] Zu Langsam, Markus, das hat er schon :tongue: [/edit] |
Re: Fehlerhafte Progress anzeige
Zitat:
jetzt hab ich folgendes Problem:
Delphi-Quellcode:
[Fehler] Unit1.pas(46): Deklaration von 'IdHTTP1Work' unterscheidet sich von vorheriger Deklaration
Delphi-Quellcode:
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Integer); begin Progress.Max:=AWorkCountMax; Progress.Position := AWorkCount; end; |
Re: Fehlerhafte Progress anzeige
Jetzt musst halt mal schauen, was sich unterscheid. Einfach den Code reinposten und wir sollen mal machen, ist nicht...
Und was für eine graue Stelle? |
Re: Fehlerhafte Progress anzeige
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
http://www.delphipraxis.net/download.php?id=32433 |
Re: Fehlerhafte Progress anzeige
Hast Du die komplette Prozedur drüber kopiert?
Ich kenne jetzt Indy 10 nicht, vielleicht hat sich die Definition geändert. Übernimm mal nur den Code zwischen begin und end. |
Re: Fehlerhafte Progress anzeige
Und wie ist die Methode im Interface deklariert?
|
Re: Fehlerhafte Progress anzeige
Zitat:
und was soll ich etz machen hää? |
Re: Fehlerhafte Progress anzeige
Zitat:
|
Re: Fehlerhafte Progress anzeige
Sicher, dass Du Indy 9 benutzt? Ich hab diese mit ganzen anderen Komponentensymbolen im Kopf.
Und der Code zwischen Begin und end ist:
Delphi-Quellcode:
D.h. doppelklick auf die graue Stelle und dann den Code reinkopieren.
Progress.Max:=AWorkCountMax;
Progress.Position := AWorkCount; Danach empfehle ich Dir, Grundlagen-Tutorials durchzuarbeiten... |
Re: Fehlerhafte Progress anzeige
Zitat:
wen ich auf die graue klicke passirt nischt wen ich auf die weise klicke dan komm ich zu der stelle an der der code steht. |
Re: Fehlerhafte Progress anzeige
Och mensch... Muss man alles perfekt beschreiben?
Code rauslöschen -> Speichern, damit die Zuweisung entfernt wird. -> Doppelklick auf die Stelle und Code rein. Arbeite lieber erst mal ein paar Grundlagen-Tutorials auf dsdt.info durch... |
Re: Fehlerhafte Progress anzeige
Zitat:
[Fehler] Unit1.pas(46): Deklaration von 'IdHTTP1Work' unterscheidet sich von vorheriger Deklaration
Delphi-Quellcode:
kann das sein das AWorkCount: Integer nicht zu dehnen davor past?
procedure TForm1.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
AWorkCount: Integer); begin Progress.Max:=AWorkCountMax; Progress.Position := AWorkCount; end; baer durch ein ';' getrennt sind sie doch alle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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