Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> _beginthread и CLR 
:(
    Опции темы
cymtu
Дата 1.11.2010, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.4.2009

Репутация: нет
Всего: нет



проект на Visual C++ 2010 Express приложение Windows Forms

Form1.h
Код

private: void Start(void* pParams)
{
    while( repeat )
    {
       ...
    }
    _endthread();
}
private: System::Void toolStripMenuItem5_Click(System::Object^  sender, System::EventArgs^  e) 
         {
             if(!repeat)
             {   
                 repeat=true;
                 _beginthread(Start, 0, NULL);
             }
         }
private: System::Void toolStripMenuItem6_Click(System::Object^  sender, System::EventArgs^  e)
         {
        bool repeat = false;
         }


выдает сообщение об ошибке

Ошибка    1    error C3867: Example::Form1::Start: в вызове функции отсутствует список аргументов; используйте "&Example::Form1::Start" для создания указателя на член    f:\Example\Example\Form1.h    446    1    Example

Что не так?????
Люди пожалуйста подскажите...


PM MAIL   Вверх
azesmcar
Дата 1.11.2010, 08:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(cymtu @  1.11.2010,  07:08 Найти цитируемый пост)
Что не так?????

Функция не та. _beginthread принимает указатель на обычную функцию, а ты передаешь member функцию. Либо сделай функцию static, либо используй boost::bind (хотя если подключен boost то зачем использовать _beginthread?), либо сам напиши передачу this и вызов member функции.
И не используй _beginthread smile  только _beginthreadex.

Добавлено через 2 минуты и 27 секунд
так это еще и .NET smile 
Ты уверен, что тебе нужен C++ .NET? Зачем ты выбрал этот язык? Почему не C# и зачем использовать _beginthread когда у тебя вся мощь .NET под рукой?
PM   Вверх
cymtu
Дата 1.11.2010, 08:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.4.2009

Репутация: нет
Всего: нет



Цитата

Ты уверен, что тебе нужен C++ .NET?


Программирую в основном Borland C++
Поэтому использую, то что ближе, с С# вообще никогда не имел дел.

Цитата

  _beginthread когда у тебя вся мощь .NET под рукой?

Реализацией потоков в NET тоже не занимался. Прочитал про функцию _beginthread вот и играюсь с ней.
Если тебя ужасает мой пример, расскажи как проще реализовать программу, которая бы запускала и останавливала поток.

PM MAIL   Вверх
azesmcar
Дата 1.11.2010, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



cymtu

C++ for .NET создан не для того, чтобы на нем проекты писались, его создали затем, чтобы существующие проекты/библиотеки можно было безболезненно перенести на .NET.

Цитата(cymtu @  1.11.2010,  08:30 Найти цитируемый пост)
с С# вообще никогда не имел дел.

А с C++ for .NET? C# намного ближе к тому C++, который ты знаешь чем это извращение.
Может самое время начать?

Цитата(cymtu @  1.11.2010,  08:30 Найти цитируемый пост)
Если тебя ужасает мой пример, расскажи как проще реализовать программу, которая бы запускала и останавливала поток.

он меня не ужасает, но зачем так писать?


Это сообщение отредактировал(а) azesmcar - 1.11.2010, 08:40
PM   Вверх
mrbrooks
Дата 1.11.2010, 09:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 2
Всего: 306



cymtu, то что ты делаешь, нет даже в камасутре.
PM MAIL   Вверх
xvr
Дата 1.11.2010, 12:02 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(cymtu @  1.11.2010,  07:08 Найти цитируемый пост)
Что не так?????
Не так попытка использовать Win32 Native Threads в CLR. Они вместе не живут, никак  smile 
Используй System.Threading и C#


PM MAIL   Вверх
cymtu
Дата 3.11.2010, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 24.4.2009

Репутация: нет
Всего: нет



Вот вы тут все пишите переходи на С#.
Возможно и действительно стоит переходить, но первоначально хотелось бы узнать, а как в C# обстоит работа там с ссылками??? Насколько я знаю работать с ними в С# не рекомендуется.

Вопрос (???) не возникнет ли проблема с реализацией такой схемы

Есть обычный Узел Node

Код

class Node
{
    (...)
    Node*  prev;
    Node*  next;
    Node*  pnode; 
}


Есть список из этих узлов ListNode
Код

class ListNode
{
    (...)
    Node*  beg;
    Node*  end;
}


Есть узел Node2
Код

class Node2
{
    (...)
    ListNode *list;
    Node2*  prev;
    Node2*  next;
}


Есть список из этих узлов ListNode2
Код

class ListNode2
{
    (...)
    Node2* beg;
    Node2* end;
}


ссылка *pnode может указывать на любой элемент Node входящий в list любого узла Node2.
Такое можно будет сделать в C#???????????????????????????????????/
PM MAIL   Вверх
mes
Дата 3.11.2010, 10:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(cymtu @  3.11.2010,  09:54 Найти цитируемый пост)
Вот вы тут все пишите переходи на С#.

переходить на шарп советуют , если Вы пишете под .Net..
 без последнего (или его аналога) шарп не дышит
smile


Это сообщение отредактировал(а) mes - 3.11.2010, 10:59


--------------------
PM MAIL WWW   Вверх
xvr
Дата 3.11.2010, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 60
Всего: 223



Цитата(cymtu @  3.11.2010,  10:54 Найти цитируемый пост)
Такое можно будет сделать в C#
Можно. Там все объекты фактически представлены указателями. 
Подробнее наверное надо спрашивать в ветке форума по .NET программингу


PM MAIL   Вверх
azesmcar
Дата 3.11.2010, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(cymtu @  3.11.2010,  10:54 Найти цитируемый пост)
ссылка *pnode может указывать на любой элемент Node входящий в list любого узла Node2.
Такое можно будет сделать в C#???????????????????????????????????/ 

Все там можно. Вопросы по деталям в соответствующей разделе.
Кстати зачем писать то, что давно уже написано?

Цитата(mes @  3.11.2010,  10:59 Найти цитируемый пост)
переходить на шарп советуют , если Вы пишете под .Net..

 smile 

Это сообщение отредактировал(а) azesmcar - 3.11.2010, 11:26
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1119 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.