Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zubossi
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 62
#1

STL и поток - C++

04.04.2011, 02:31. Просмотров 388. Ответов 2
Метки нет (Все метки)

Есть вектор, объявленный в основной программе, состоящий из ссылок на компоненты типа TImage и TCheckBox:
C++
1
2
3
4
5
6
7
struct mass
{
TImage *img;
TCheckBox *Chek;
};
static std::vector<mass> ListImegov(300);
static std::vector<mass>::iterator ListIterator;
В отдельном потоке создаются эти компоненты.
Но как поток завершается обратится из основного потока к данным элементам по типу:

C++
1
2
3
ListIterator = ListImegov.begin();
ListIterator += 2;
Button2->Caption = ListIterator->img->Hint;
невозможно.
Выходит ошибка несуществующий или недопустимый адрес.
Хотя в отдельном потоке данный код работает без проблем.

Как с этим бороться не подскажите?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.04.2011, 02:31     STL и поток
Посмотрите здесь:

Стандартный поток и STL (std::copy to std::cout) - C++
#include &lt;iostream&gt; #include &lt;sstream&gt; #include &lt;algorithm&gt; #include &lt;functional&gt; #include &lt;string&gt; using namespace std; ...

STL - C++
где можно посмотреть исходный код STL??

STL - C++
Добрый вечер всем кто открыл эту вкладку! Надо реализовать кольцевой упорядоченный двозвязний список на STL + некоторые функции работы с...

STL - C++
Данная программа делает следующее 1. Создать объект-контейнер в соответствии с вариантом задания и заполнить его данными, тип которых...

STL - C++
Всем привет :) Задача следующая - Нужно считать из файла строки, запихнуть их в стек и вывести на экран, чтобы перед ними был номер...

STL - C++
std::vector&lt;char*&gt; files; Объясните пожалуйста как правильно заполнять такой вектор

STL - C++
где можно почитать про STL очень подробно что бы исходные коды тоже были, какие структуры данных используются в реализации и тд тд тд ...

Потоки в stl C++11 - C++
Здравствуйте. Посоветуйте пожалуйста способы разрешения подобной ситуации. Есть функция, реализующая итерационный алгоритм перебора...

STL C++ проект - C++
всем привет, не могу придумать тему на курсовой проект по с++(STL), может кто-нибудь подскажет, или может быть у кого-нибудь готовое...

Литература по STL. - C++
Подскажите, пожалуйста, толковые книги/руководства по STL.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deviaphan
Делаю внезапно и красиво
Эксперт C++
1286 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.04.2011, 07:38     STL и поток #2
Видимо, проблема в том, что память выделяется в одном потоке, а используется в другом.
Хотя, все потоки выполняются в одном адресном пространстве...
Я не знаю, как реализованы эти компоненты, ибо Борланд. Попробуй для создания объектов вызывать функцию из основного потока, не забыв про синхронизацию.

Добавлено через 2 минуты
В любом случае, память должна освобождаться в том же потоке, в котором она выделялась.
Zubossi
1 / 1 / 0
Регистрация: 24.02.2011
Сообщений: 62
04.04.2011, 11:05  [ТС]     STL и поток #3
Спасибо.
Заработало, не понятно только почему не работало до.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru