Overview
Examples
Screenshots
Comparisons
Applications
Download
Manual
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Language
English











SourceForge.net Logo



GuiLock

 

This package demonstrates the use of Ctrl::Lock in MT applications

 

 

main.cpp

 

#include <CtrlLib/CtrlLib.h>

 

using namespace Upp;

 

struct App : TopWindow {

    Thread work;

 

    void Work();

    

    ArrayCtrl list;

    

    typedef App CLASSNAME;

 

    App();    

    ~App();

};

 

void App::Work()

{

    for(;;) {

        Sleep(1);

        GuiLock __;

        if(Thread::IsShutdownThreads())

            break;

        if(list.GetCount() > 1000) {

            if(PromptYesNo("Quit?"))

                Break();

            list.Clear();

        }

        list.Add((int64)Random());

    }

}

 

App::App()

{

    list.AddColumn("Test");

    Add(list.SizePos());

    work.Run(THISBACK(Work));

}

 

App::~App()

{

    Thread::ShutdownThreads();

    work.Wait();

}

 

GUI_APP_MAIN

{

    App app;

    app.Run();

}

 

 

 

 

This page is also in català, čeština, deutsch, español, euskara, français, română, русский, 中文(简体) and 中文(繁體). Do you want to contribute?