From 42155ed22a7fa1c1fb5cadc35341375ef17f707b Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 21 May 2002 10:38:20 +0000 Subject: [PATCH] Added a StatusBar, Timer, and List. --- src/xpdev/clx/ThreadCreate/MainUnit.h | 7 +++++++ src/xpdev/clx/ThreadCreate/MainUnit.xfm | 17 +++++++++++++++-- src/xpdev/clx/ThreadCreate/ThreadUnit.cpp | 11 ++++++++--- src/xpdev/clx/ThreadCreate/ThreadUnit.h | 2 ++ 4 files changed, 32 insertions(+), 5 deletions(-) diff --git a/src/xpdev/clx/ThreadCreate/MainUnit.h b/src/xpdev/clx/ThreadCreate/MainUnit.h index 7f33e93e48..9a26475dc2 100644 --- a/src/xpdev/clx/ThreadCreate/MainUnit.h +++ b/src/xpdev/clx/ThreadCreate/MainUnit.h @@ -8,6 +8,9 @@ #include <QControls.hpp> #include <QStdCtrls.hpp> #include <QForms.hpp> +#include <QComCtrls.hpp> +#include <QExtCtrls.hpp> +#include <QTypes.hpp> //--------------------------------------------------------------------------- class TForm1 : public TForm { @@ -16,10 +19,14 @@ __published: // IDE-managed Components TButton *CreateButton; TButton *KillButton; TMemo *Log; + TStatusBar *StatusBar; + TTimer *Timer; void __fastcall CreateButtonClick(TObject *Sender); void __fastcall KillButtonClick(TObject *Sender); + void __fastcall TimerTick(TObject *Sender); private: // User declarations public: // User declarations + TList* List; TCriticalSection* CriticalSection; __fastcall TForm1(TComponent* Owner); }; diff --git a/src/xpdev/clx/ThreadCreate/MainUnit.xfm b/src/xpdev/clx/ThreadCreate/MainUnit.xfm index e18ba8fcbd..190b16fc04 100644 --- a/src/xpdev/clx/ThreadCreate/MainUnit.xfm +++ b/src/xpdev/clx/ThreadCreate/MainUnit.xfm @@ -2,8 +2,8 @@ object Form1: TForm1 Left = 536 Top = 314 Width = 211 - Height = 283 - VertScrollBar.Range = 273 + Height = 303 + VertScrollBar.Range = 292 HorzScrollBar.Range = 203 ActiveControl = ListBox Caption = 'Form1' @@ -45,4 +45,17 @@ object Form1: TForm1 ScrollBars = ssAutoBoth TabOrder = 3 end + object StatusBar: TStatusBar + Left = 0 + Top = 284 + Width = 211 + Height = 19 + Panels = <> + SimplePanel = True + end + object Timer: TTimer + OnTimer = TimerTick + Left = 96 + Top = 144 + end end diff --git a/src/xpdev/clx/ThreadCreate/ThreadUnit.cpp b/src/xpdev/clx/ThreadCreate/ThreadUnit.cpp index 8bb343dede..b850c06169 100644 --- a/src/xpdev/clx/ThreadCreate/ThreadUnit.cpp +++ b/src/xpdev/clx/ThreadCreate/ThreadUnit.cpp @@ -25,14 +25,19 @@ __fastcall TMyThread::TMyThread(bool CreateSuspended) : TThread(CreateSuspended) { } +void __fastcall TMyThread::AddToLog() +{ + Log->Lines->Add(ThreadID); +} //--------------------------------------------------------------------------- void __fastcall TMyThread::Execute() { while(!Terminated) { - CriticalSection->Enter(); - Log->Lines->Add(ThreadID); + Synchronize(AddToLog); + CriticalSection->Enter(); + List->Add(new AnsiString(ThreadID)); CriticalSection->Leave(); - Sleep(1000); + Sleep(1); } } //--------------------------------------------------------------------------- diff --git a/src/xpdev/clx/ThreadCreate/ThreadUnit.h b/src/xpdev/clx/ThreadCreate/ThreadUnit.h index 144ae0c88f..0bf617eae9 100644 --- a/src/xpdev/clx/ThreadCreate/ThreadUnit.h +++ b/src/xpdev/clx/ThreadCreate/ThreadUnit.h @@ -14,8 +14,10 @@ protected: void __fastcall Execute(); public: TMemo* Log; + TList* List; TCriticalSection* CriticalSection; __fastcall TMyThread(bool CreateSuspended); + void __fastcall AddToLog(void); }; //--------------------------------------------------------------------------- #endif -- GitLab