Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание thread (в С++ Bilder-e пытаюсь работать).. / 4 сообщений из 4, страница 1 из 1
16.03.2006, 20:01
    #33606574
UlanOf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание thread (в С++ Bilder-e пытаюсь работать)..
Начинающему, подскажите вот про что...
Я использую компонент...ListView для получения какого то списка...
т.е. поток постоянно работает... до завершения программы...И я вижу список обновляемый с какойто переодичностью..

Например пишу:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
void TEST (void *)  // функция потока

  {
   Form->ListView->Clear();  //очищаю навсякий случай..
   TListItem  *ListItem ; 
   while( 1 )
      {
       ListItem = Main->ListAllWindows->Items->Add(); // добовляем итэм
       ListItem->Caption = "1";                                 // с таким заголовком
       Sleep( 10000 );                             // посмотрим на это немного, и заново...
      }
  }

И к примеру такое действие на кнопке...По созданию потока..

Код: plaintext
1.
2.
3.
void __fastcall TMain::Button2Click(TObject *Sender)
{
_beginthread(TEST, 0 ,NULL); // создаем поток...
}

Вот если я делаю обычным дествием, вызов функции к примеру:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
void WOW ()
  {
   Form->ListView->Clear();  //очищаю навсякий случай..
   TListItem  *ListItem ; 
   .............
.................
..................
   while(ф==ы)    // на это условие while не обращаем внимания
     {
     ListItem = Main->ListAllWindows->Items->Add(); // добовляем итем
     ListItem->Caption = "1";                                 
     }
  }           По выходу у меня палучается список при повторном вызове очищается... и записывается .. без повторений...


Вапрос Звучит так... Почему этот же текст не работает в потоке... Т.е. Не отображается в компоненте ListView формируемый мною список... во время выполнения...
ЧТо я здесь не так зделал может подскажите?... За ранее всем спасибо!
...
Рейтинг: 0 / 0
16.03.2006, 21:59
    #33606708
LordMAD
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание thread (в С++ Bilder-e пытаюсь работать)..
When you use objects from the class hierarchy, their properties and methods are not guaranteed to be thread-safe. That is, accessing properties or executing methods may perform some actions that use memory which is not protected from the actions of other threads. Because of this, a main thread is set aside to access VCL objects. This is the thread that handles all Windows messages received by components in your application.

If all objects access their properties and execute their methods within this single thread, you need not worry about your objects interfering with each other. To use the main thread, create a separate routine that performs the required actions. Call this separate routine from within your thread's TThread.Synchronize method.
...
Рейтинг: 0 / 0
17.03.2006, 14:35
    #33608230
Гуфыч
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание thread (в С++ Bilder-e пытаюсь работать)..
может поможет
http://]http://www.cbuilder.ru/WinLesson/bles2_1.htm
...
Рейтинг: 0 / 0
17.03.2006, 18:13
    #33609029
UlanOf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создание thread (в С++ Bilder-e пытаюсь работать)..
Спасибо за итнформацию... Мельком посмматрел то что надо вроде....
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Создание thread (в С++ Bilder-e пытаюсь работать).. / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]