Autor Beitrag
gregorkandare
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 17.08.04 13:45 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 219

Win NT, Win 2000
D6 Prof
BeitragVerfasst: Di 17.08.04 13:53 
:welcome:

Hallo,

dein Stichwort lautet: Suche in: Delphi-Forum, Delphi-Library GETTICKCOUNT

Stoffel
raziel
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 2453

Arch Linux
JS (WebStorm), C#, C++/CLI, C++ (VS2013)
BeitragVerfasst: Di 17.08.04 13:55 
:welcome:

Oder gleich Motzi's Ressourcenschonendes Delay...
Warum eigentlich keine Komponente?

raziel

_________________
JSXGraph
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 17.08.04 14:10 
Wenn es nur ab 2000 laufen soll, dann kannst du auch Suche im MSDN CREATETIMERQUEUETIMER nehmen. Eine Headerübersetzung findest du hier bei mir: www.luckie-online.de...wnloads/DelphiUnits/ und eine Demo Anwendung mit Source, wäre bei den Downloads der IPMonitor.
Udontknow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 17.08.04 14:22 
In einem vom Hauptthread abgespaltenen Thread ruft man einfach Suche im MSDN 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2596

Win7
D2006 WIN32, .NET (C#)
BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2931

XP Prof, Vista Business
D6, D2k5-D2k7 je Prof
BeitragVerfasst: 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..

_________________
gringo pussy cats - eef i see you i will pull your tail out by eets roots!