AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Download als Thread
Thema durchsuchen
Ansicht
Themen-Optionen

Download als Thread

Ein Thema von Larsi · begonnen am 16. Feb 2009 · letzter Beitrag vom 16. Feb 2009
 
Larsi

Registriert seit: 10. Feb 2007
2.262 Beiträge
 
Delphi 2007 Professional
 
#1

Download als Thread

  Alt 16. Feb 2009, 13:31
Hi,

ich habe hier im Forum mal gesucht und auch was gefunden aber so richtig verstehen tu ich die Codes da nicht. Ich möchte noch anmerken, dass ich vorher noch nie mit Threads gearbeitet hab. Also ich möchte eine Datei mit IdHttp in einem Thread downloaden sodass meine Hauptanwendung nicht abstürzt währenddessen. Ich habe mir Luckies Tutorial mal durchgeblättert doch das Ganze ist ein bisschen viel zu lesen (40 Seiten). Natürlich werde ich mir das nochmal richtig duchlesen aber ich hoffe trotzdem erstmal auf eure Hilfe.

Also hier mein bisheriger Code im Thread:
Delphi-Quellcode:
unit Downloaden;

interface

uses
  Classes, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP;

type
  Download = class(TThread)

  private
     procedure Downloaden;
  protected
    procedure Execute; override;

  end;


implementation

uses Unit1, Unit12;

{ Download }

procedure IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCount: Integer);
begin
form12.progressbar1.Position := AWorkCount;
end;

procedure IdHTTP1WorkBegin(ASender: TObject; AWorkMode: TWorkMode;
  AWorkCountMax: Integer);
begin
form12.progressbar1.Max := aworkcountmax;
end;

procedure IdHTTP1WorkEnd(ASender: TObject; AWorkMode: TWorkMode);
begin
form12.progressbar1.Position := 0;
form12.progressbar1.Visible := false;
end;

procedure Download.Execute;
begin
Synchronize(Downloaden);
end;

procedure Download.Downloaden;
var http1: TIdhttp;
lstream: Tfilestream;
begin
  http1 := TIdhttp.create();

  http1.free;

lStream:=TFileStream.Create(form1.Edit1.Text + '\' + form1.Edit2.Text + '.mp4' , fmCreate);
  try
     Http1.Get(Form12.memo4.text,lStream);
  finally
    lStream.Free;
  end;


end;

end.
Geht das Ganze so einigermaßen?

Mein eigentliches Problem ist jetzt aber das ich nicht weiß wie ich den Thread per Button starte?

Wenn ich sowas schreibe:
Delphi-Quellcode:
var
  Fredie: TDownload;
begin
Fredie:=TDownload.Create(True);
 Fredie.OnTerminate:=ThreadTerminate;
  Fredie.Resume;

end;
Erhalte ich folgende Fehlermeldung:

[DCC Fehler] Unit12.pas(190): E2003 Undefinierter Bezeichner: 'TDownload'

Wenn ich bei den Uses den Unit Namen "Downloaden" eingebe kommt der gleiche Fehler. Ich hoffe Ihr könnt mir helfen.

MFG Lars Wiltfang
Ein Tag ohne Delphi ist ein verlorener Tag!

Homepage zu meinem neuen Programm: StreamZ
  Mit Zitat antworten Zitat
 


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