OK erstmal habe ich hier noch weitere Infos gefunden:
http://www.dev-center.de/index.php?c...ing&printing=1
jetzt mal zu dem was ich versucht habe
Datei --> Neu --> Thread-Objekt
Als Name habe ich bildupdate vergeben und das ganze schaut dann als Unit3 so aus:
Delphi-Quellcode:
unit Unit3;
interface
uses Classes;
type
bildupdate =
class(TThread)
private
{ Private-Deklarationen }
protected
procedure Execute;
override;
end;
implementation
procedure bildupdate.Execute;
begin
if internal_loop = 0
then
begin
DestFile := ExtractFilePath(ParamStr(0)) + '
temp.jpg';
Image1.Picture :=
nil;
stream := TFileStream.Create(DestFile, fmCreate);
try
IdHTTP1.Get(SourceFile, stream);
except
Timer2.Enabled := false;
ShowMessage('
Verbindungsfehler!');
end;
stream.Free;
if Timer2.Enabled
then Image1.Picture.LoadFromFile(PChar(DestFile));
end
else
begin
// Lokal --> nicht über Internet
AviCap.CopyToClipboard;
Image1.picture :=
nil;
Image1.Picture.Bitmap.Assign(Clipboard);
end;
end;
end.
in der Unit1, der HauptUnit schaut die Prozedur zum aufrufen so aus:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var SourceFile, DestFile : string;
stream: TFileStream;
var
Thread: bildupdate;
begin
if dieurl = '' then exit else SourceFile := dieurl;
if dieurl = '' then exit;
if Timer2.Enabled = false then Timer2.Enabled := True;
ToolButton9.Enabled := true;
ToolButton10.Enabled := true;
// Thread-Bereich
Thread := bildupdate.Create(True);
Thread.FreeOnTerminate := True;
Thread.Terminate;
end;
in der Unit1 der HauptUnit habe ich Unit3 mit der ThredSache in den uses mit eingebunden
das Problem ist jetzt das beim compilen z.b. die globale variabel "internal_loop" nicht bekannt ist
un dich in der Unit3 nicht noch die Unit1 mit einbinden kann
wie bekomme ich das denn jetzt hin das dort auch alle variabeln eingabefelder usw bekannt sind ?