Entwickler-Ecke
Sonstiges (Delphi) - Zeitperiodische aktionen innerhalb einer Methode ?
gregorkandare - Di 17.08.04 13:45
Titel: Zeitperiodische aktionen innerhalb einer Methode ?
Hallo,
ich möchte innerhalb einer Methode periodisch (z.B. alle 1000 msek) etwas machen (einen OPC Server abfragen). Wie mache ich das am einfachsten. Ich wollte es mit TTimer versuchen, das Problem dabei ist, das es eine Komponente ist.
Gregor :D
Stoffel1984 - Di 17.08.04 13:53
:welcome:
Hallo,
dein Stichwort lautet:
GETTICKCOUNT
Stoffel
Udontknow - Di 17.08.04 14:16
Ich sehe mir gerade dieses Delay von Motzi an... Dort ruft er unter anderem Application.ProcessMessages auf. Ist das eigentlich innerhalb eines anderen Threads als dem VCL-Haupt-Thread zulässig?
Cu,
Udontknow
Delete - Di 17.08.04 14:22
In einem vom Hauptthread abgespaltenen Thread ruft man einfach
SLEEP auf, da ein Thread eh keine MessageLoop hat wäre es blödsinning irgendwelche Nachrichten abarbeiten zu wollen - wo sollen die denn her kommen?
Udontknow - Di 17.08.04 14:28
Zitat: |
da ein Thread eh keine MessageLoop hat |
Hehe, wenn er das aufruft, hat er eine! :twisted:
Nein, im Ernst, mir ist klar das das keinen Sinn macht.
Aber es könnte ja jetzt jemand auf die Idee kommen : "Oh! Delay ist ressourcenschonend! Verwende ich das besser in meinem Thread anstelle von Sleep!". Läuft dieser jenige dann nicht Gefahr, sich arge Probleme zuzuziehen, wenn der Thread plötzlich anfängt, zusammen mit dem HauptThread die Botschaften zu verarbeiten? Sollte vielleicht noch dabei geschrieben werden oder sogar zur Laufzeit abgefangen werden.
Cu,
Udontknow
Motzi - Di 17.08.04 14:47
Nein, ein Aufruf von Application.ProcessMessages ist nur im primären Thread zulässig.. für Threads muss man sich seine eigene ProcessMessages-Funktion basteln..
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!