![]() |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Ok, danke!
Ich glaube ich habs begriffen... Wenn ich noch was wissen muss, kann ich euch dann auch im Zweifelsfall per PN anschreiben? |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
nein! :-D Denn per PN hast nur die etwas davon und andere mit dem gleichen Problem bleiben im Regen stehen. Bei Fragen die im Forum gestellt werden haben alle etwas davon und genau davon lebt ein Forum auch, vom gegenseitigen Helfen
|
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Ups, so war das auch nicht gemeint...
Den entgültigen Lösungsweg hätte ich dann schon gepostet. |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Hallo,
wenn der Thread zum Auslesen da sein soll, würde ich folgendes Prinzip verfolgen (als Denkanstoß)
Viel erfolg dabei :-) Gruß, Chris |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
So, es hat funktioniert... :thumb:
Hier ist mal der Code:
Delphi-Quellcode:
Nochmals danke euch allen!!!
TMyThread = class(TThread)
protected procedure Execute; override; procedure Display; end; var MyThread : TMyThread; procedure TMyThread.Display; begin // hier Ausgaben eintragen, Memos, Edits, usw. end; procedure TMyThread.Execute; begin while not terminated do begin // hier Anweisungen (bei mir halt Daten von Steuerung lesen) Synchronize(Display); sleep(xx); // hier schläft der Thread, bevor er weiterläuft end; end; procedure TForm2.Button1Click(Sender: TObject); begin MyThread := TMyThread.Create(false); MyThread.FreeOnTerminate := true; end; @ChrisE: Auf die Schnittstelle warten funktioniert bei der Anwendung nicht so richtig, daher habe ich den Weg gewählt, dass die Daten entsprechend dem Intervall angefodert und ausgelesen werden. Um den Puffer werde ich mich jetzt kümmern... Ist auch das erste Mal, dass ich einen Thread benutze, muss mich da jetzt sowieso noch tiefer einarbeiten. |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Warum ist ThreadGo kein Attribut der Thread-Klasse?
|
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Stimmt eigentlich... werd ich gleich ändern...
|
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Statt des ThreadGo nimmt man Terminated. Das ist eine Property des Thread-Objektes.
"while not Terminated do" |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Jetzt hab ich mich so gefreut das es läuft...
also, dann mit WHILE NOT TERMINATED DO Danke |
Re: Hilfe! Timer innerhalb eines Thread laufen lassen
Hallo,
ich glaube du schiesst mit Kanonen auf Spatzen. Der Weg über polling und genau das machst du mit einem zyklisch gestarteten thread ist doch völlig überflüssig. Wir machen sowas Eventgesteuert über die Routine Ontriggeravailable der Portkomponente.(serielle Schnittstelle Asynch pro) Das heisst die Routine wird jedesmal (oder auch erst nach bestimmten Vorraussetzungen) durchlaufen, wenn ein Zeichen über die serielle Schnittstelle eintrifft. Geschickt programmiert ist das viel effektiver als der Weg über threads. Grüsse |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:49 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-2025 by Thomas Breitkreuz