AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Threadproblem...

Ein Thema von Martin W · begonnen am 30. Mai 2004 · letzter Beitrag vom 30. Mai 2004
Antwort Antwort
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#1

Threadproblem...

  Alt 30. Mai 2004, 12:09
Hi,

ich bin´s nochmal... Also ich hab noch ein Problem. Und zwar läd mein Programm beim Start eine ca. 1 MB große Datei herunter... Dafür benutzte ich die HTTP- Komponente von indy.

Während mein programm diese Datei herunterläd sieht mein Programm so aus, als ob es hängenbleiben wäre. Jetzt habe ich mal gehört, das man solche funktionen in ein Thread verlagern kann.

Daraufhin habe ich das Threadtutorial hier durchgearbeitet.

Allerdings habe ich es bis jetzt noch nicht geschafft das es auch in meinem Proggi funktioniert.

Daher meine Frage(n):

a) wie kann ich ein Thread erzeugen, der mit der INDY Http- komponente eine Datei herunterläd ?
b) wie kann ich diesen Thread dann starten
c) wie sag ich meinem Hauptprogramm das der download fertig ist??


Eine Antwort wäre super nett...

Gruß
Martin
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#2

Re: Threadproblem...

  Alt 30. Mai 2004, 12:12
Hi,
das ist nicht so schwer wies aussehen mag:
a) du verlagerst die download routine einfach in eine function, z.B.
Delphi-Quellcode:
function downloadatstartup(p: pointer): LongInt;
begin
//Hier der download
end;
b) Schau mal im sdk nach BeginThread
c) setzte in der obigen funktion eine globale variable auf true o.ä

[edit] ups, stdcall und beginthread vertragen sich glaubich nicht[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#3

Re: Threadproblem...

  Alt 30. Mai 2004, 12:17
hier noch ein beginthreadbsp:
ThreadHandle := BeginThread(nil,0,TFNThreadStartRoutine(@threadfunc),@variable,CREATE_SUSPENDED,ThreadID); ThreadHandle beinhaltet dann das handle des threads
threadfunc ist die function des threads
@variable übergibt dem thread einen pointer auf die variable variable
CREATE_SUSPENDED bewirkt das der thread im angehaltenen zustand erzeugt wird
ThreadID beinhaltet dann die ID des threads
wenn du CREATE_SUSPENDED verwendest muss du den Thread mit ResumeThread(ThreadHandle) fortsetzen!
  Mit Zitat antworten Zitat
Martin W

Registriert seit: 29. Mai 2004
Ort: Augsburg
220 Beiträge
 
Delphi XE3 Enterprise
 
#4

Re: Threadproblem...

  Alt 30. Mai 2004, 12:32
Danke, ich werde das alles mal ausprobieren, wenn es geklappt hat geb ich hier noch mal bescheit
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Threadproblem...

  Alt 30. Mai 2004, 14:48
Und hier gibt es ein Thread-Tutorial: http://tutorials.luckie-online.de
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Antwort Antwort


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 17:28 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