![]() |
In Thread auf WindowsForm zugreifen (Invoke)?
Guten Morgen,
ich habe ein WindowsForm, mit einem EditFeld. Des weiteren ein Objekt, welches ein Thread-Objekt enthält. Ich möchte nun im execute dieses Threads Werte in das EditFeld schreiben. Wie mache ich das ganze sauber? Danke, winx
Delphi-Quellcode:
Dankeschön für eure Tipps :hello:
type
TStateWatcherThread = class private m_MainForm : TMainForm; m_WatcherThread : Thread; m_ThreadRunning:boolean; procedure running(); public constructor Create(form : TMainForm); procedure start(); procedure stop(); end; implementation constructor TStateWatcherThread.Create(form : TMainForm); begin inherited Create(); m_MainForm := form; m_WatcherThread := Thread.Create(running); end; procedure TStateWatcherThread.running; var state : TLaserState; i : integer; begin i:=0; while (m_ThreadRunning) do begin try i := i+1; m_MainForm.EditText.Text := 'Wert: '+i.toString(); except end; Thread.Sleep(1000); end; end; procedure TStateWatcherThread.start; begin self.m_WatcherThread.Start(); m_ThreadRunning := true; end; procedure TStateWatcherThread.stop; begin m_WatcherThread.Suspend(); m_ThreadRunning := false; end; |
Re: In Thread auf WindowsForm zugreifen (Invoke)?
Nun ja, die Lösung steht ja schon im Titel ;) . Also solltest du danach im SDK suchen und uns ggf. dann erklären, was du nicht verstanden hast.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:30 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