![]() |
Threading möglich?
Hallo Leute,
Ich habe ein Programm und hole mir in einer Funktion alle Informationen von einer Steuerung. Das sind so viele Daten das ich das gesamte Programm für einige Sekunden lahmlegen würde, wenn ich mir alle Daten auf einmal holen würde. Momentan hole ich mir nun die Informationen Stückweise, aber mich würde interessieren, ob es nicht möglich ist, alle meine normalen Funktionen Prozeduren und Timer etc. normal laufen zu lassen und mithilfe eines anderen Kerns die Daten zu empfangen kurz: Multi-Threading. Würde das funktionieren? Gruß derseitzer |
AW: Threading möglich?
Die Glaskugel sagt:
Vielleicht! :glaskugel: |
AW: Threading möglich?
und ich hab nochmal eine blöde Frage :oops:
Ich habe Delphi 10 Seattle und habe in meiner Tool-Palette kein "TThread", bedeutet dass, das ich da schon wieder irgendeine Erweiterung brauche? :cry: |
AW: Threading möglich?
TThread ist nicht von TComponent abgeleitet und kann daher in der Tool-Palette nicht auftauchen.
|
AW: Threading möglich?
Datei > Neu > Weitere > Delphi-Dateien > Thread-Objekt
|
AW: Threading möglich?
Oh Dankeschön! Dann werde ich mich nun einarbeiten. Dnakeschön :-D
|
AW: Threading möglich?
oder
Delphi-Quellcode:
Mavarik
TTask.Run(Procedure
begin Hole_Daten; TThread.Queue(NIL,Procedure begin Label1.Text := 'Daten da'; end); end); |
AW: Threading möglich?
Nun habe ich mich ein klein wenig eingearbeitet und habe ein paar Fragen
Meine Form:
Code:
Mein TThread:
procedure TForm1.Button1Click(Sender: TObject);
begin MyThread.Create(False); end;
Code:
Also ich wollte hier mal testen ob meine Form freazed wenn ich den sleep befehl im Thread nutze und das passiert nicht, so wie erhofft :-D
procedure MyThread.Execute;
begin FreeOnTerminate := TRUE; showmessage('hi'); sleep(5000); 1. Frage: Stimmt das so, dass ich den Befehl MyThread.Create(False) zum starten meines MyThread.Executes benutze? 2. Frage: angenommen ich hole mir in "MyThread.Execute" nun Daten z.B. A:= Data1, B:=Data2 usw., dann würde meine Form nicht einfrieren (gehe ich von aus,da sie beim sleep Befehl auch nicht einfriert). Inwieweit beeinflusst mein Thread denn nun das ausgeführte Programm meiner Form (ich denke bzw. hoffe, die Antowrt ist garnicht mehr)? 3. Wird nun gleichzeitig die prozedur mythread.execute und z.b. eine prozedur meiner Form1 ausgeführt? 4.angenommen das Daten holen mithilfe des Threads dauert 10sekunden aufgrund der Massen an Daten, woher weiß ich wo ich gerade bin und was ich schon mit meiner Form verarbeiten kann? Vielen Dank schon im voraus an alle die Ihre Zeit für mich opfern :oops: Vielen Dank und freundliche Grüße, derseitzer |
AW: Threading möglich?
Meine Antwort gelesen?
|
AW: Threading möglich?
Na, wie werden Objekte in Delphi richtig erstellt? Bitte nochmal überlegen!
Und schaue dir bitte Seite für Seite dieses kleine Tutorial an: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:24 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 by Thomas Breitkreuz