Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Prism In Thread auf WindowsForm zugreifen (Invoke)? (https://www.delphipraxis.net/80522-thread-auf-windowsform-zugreifen-invoke.html)

winx 10. Nov 2006 09:08


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:
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;
Dankeschön für eure Tipps :hello:

Khabarakh 10. Nov 2006 12:55

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 08:57 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz