AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi OnWork wird nach Download ausgeführt?
Thema durchsuchen
Ansicht
Themen-Optionen

OnWork wird nach Download ausgeführt?

Ein Thema von TheMiller · begonnen am 28. Mär 2008 · letzter Beitrag vom 29. Mär 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#1

OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 15:30
Hallo,

ich habe die Indy-Komponente in einen Thread gesteckt und ein onWork-Event programmiert. Doch leider wird das onWork erst nach dem vollendeten Download ausgeführt.

Hier mal mein Code..

Delphi-Quellcode:
[..]

  private
    procedure WorkProgress(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);

[..]
// TThread.Execute
  
  if (Download) then
    begin
      www:=TIdHttp.Create(nil);
      [url]www.OnWork:=WorkProgress;[/url]
      fs:=TFileStream.Create(DownloadDest+DownloadFile, fmCreate);
      try
        www.Get(DownloadPath+'/'+DownloadFile, fs);
      finally
        [url]www.Free;[/url]
      end;
      if Assigned(FParent.fOnFileComplete) then Synchronize(FParent.DoFileComplete);
    end;


procedure TThread.WorkProgress(Sender: TObject; AWorkMode: TWorkMode; const AWorkCount: Integer);
begin
  //Diese Box erscheint mehrmals (und ist nur ein Test)
  MessageBox(0, 'sad', 'sadsad', 0);
end;
Danke im Voraus!
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#2

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 16:34
Nutzt du einen Proxy-Server ?
Ich hab zwar bisher noch nicht mit TIdHttp im zusammenhang mit Threads gearbeitet, hatte das Phänomen aber schon, wenn ich die Proxyfunktion von TIdHttp verwendet habe. (weis jetzt aber nicht, ob der Fehler bei den Indys oder am Proxy liegt)
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#3

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 16:44
Nein, ich nutze keinen Proxy-Server. Das kommt mir aber sehr seltsam vor. Warum sollte es NACH den Download ausgeführt werden? Die Ausführung an sich ist korrekt. Die Methode wird auch öfter mit steigenden AWorkCount-Werten aufgefufen. Nur halt eben nach dem Download!
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#4

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 16:54
Wenn sie mehrmals aufgerufen wird ist doch alles korrekt!
Wann sollte sie denn deiner Meinung nach aufgerufen werden ?
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#5

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 16:57
WÄHREND dem Download sollte die Methode aufgerufen werden. Sie gibt nämlich die bereits geladenen Bytes wieder.

Bei mir wird sie NACH dem Download aufgerufen, also wenn die Datei schon auf dem Rechner ist...
  Mit Zitat antworten Zitat
MrKnogge

Registriert seit: 9. Jun 2003
Ort: Pforzheim
2.458 Beiträge
 
Delphi 2007 Professional
 
#6

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 17:00
OK, ich hatte es so verstanden, dass die Datei noch nicht komplett auf dem Rechner ist.
Christian Bootz
Einstein ist tot, Newton ist tot,
und mir ist auch schon ganz schlecht...
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#7

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 17:02
Hm... und nu?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 17:40
Moin DJ-SPM,

hast Du es bisher nur mit der MessageBox versucht?
Wenn ja, probier mal einfach den WorkCount in ein Label oder ähnliches zu schreiben, und lass die MessageBox weg.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von TheMiller
TheMiller

Registriert seit: 19. Mai 2003
Ort: Gründau
2.480 Beiträge
 
Delphi XE7 Architect
 
#9

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 18:08
Hallo!

Zeigt leider keine Veränderung!
  Mit Zitat antworten Zitat
Benutzerbild von Dani
Dani

Registriert seit: 19. Jan 2003
732 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: OnWork wird nach Download ausgeführt?

  Alt 28. Mär 2008, 19:38
Wie groß ist die Datei?
Dani H.
At Least I Can Say I Tried
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 11:09 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