|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||||||||||||||||
Поток в классе05.04.2013, 22:23. Показов 4599. Ответов 13
Метки нет (Все метки)
платформа (.NET, VC++ 2008 Express)
такой вопрос: есть класс, допустим myclass, есть функция для потока, которую необходимо завести в класс (чтобы она была в его области видимости), но не была бы функцией-членом (т.к. компилятор ругается что если она функция-член, то невозможно преобразовать overloaded function)... ок, допустим myfunc она static-функция, просто передадим ей указатель на объект в аргумент, с которым она будет работать... ввожу её в класс как static void __cdecl myfunc (...) реализация допустим такая:
0
|
||||||||||||||||
| 05.04.2013, 22:23 | |
|
Ответы с готовыми решениями:
13
Как получить доступ к контролу через отдельный поток в кастомном классе? |
|
:)
4773 / 3267 / 497
Регистрация: 19.02.2013
Сообщений: 9,046
|
|
| 06.04.2013, 11:49 | |
|
Имхо, не хорошо запускать поток из конструктора, передавая потоку по сути еще не сконструированный объект. Лучше сделать метод start()
0
|
|
|
|
|||||||
| 07.04.2013, 10:06 | |||||||
2
|
|||||||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
|||||||||||
| 09.04.2013, 22:18 [ТС] | |||||||||||
|
например TObject.Free работает аналогично, он вызывает метод у несозданного объекта -=ЮрА=- Вам спасибо, слегка подталкнули на идею!
в итоге я пока нашёл временный вариант и он работает в VS C++ 2010 Express, благодаря описанному выше компоненту, но он меня не устаревает немного (тем что я не придумал как сделать единственную функцию процесса для всех потоков), но, публикую решение... т.к. недельные поиски по msdn и гуглу не к чему не привели, а встретил только массу вопросов от других, кто бьётся над той же проблемой с ошибкой преобразования (void (__cdecl *)(void *) от VC++
0
|
|||||||||||
|
|
|
| 09.04.2013, 22:24 | |
|
Не по теме: Не умеет потому как экспреска имеет обрезанный функционал (нет кучи lib-ов хедеров и dll), что тут ещё думать..? Добавлено через 3 минуты Не по теме: PS: А вобще, вчитавшись, я вижу ты профи, куда уж мне нубу со своими примерами...:D
0
|
|
| 09.04.2013, 22:39 [ТС] | ||
|
Не по теме:
1) да код не пошёл, я делал аналогично... и через _beginthread и через _beginthreadex и через CreatThread, возился с подключением boost::thread делал преобразование сигнатур и в процессе и в main потоке - ноль эффекта, всё падало, вероятно есть какое-то ограничение в Express, но говорить, что там это невозможно - тоже поспешно... там же есть компонент, буквально первый или второй для создания потока! я без шуток и сказал Вам спасибо, хотя и обижен несколько по другим моментам) но Ваша фраза меня подтолкнула на решение ) 2) я далеко не профи, а в VS точно - новичок ) я всё в Linux+Qt/Gtk вожусь
0
|
||
|
|
|||
| 09.04.2013, 22:51 | |||
|
В твоём первом посте что идёт Надо шарп - го ту мелкософт мсдн http://msdn.microsoft.com/ru-r... orker.aspx Добавлено через 37 секунд
0
|
|||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||||||||
| 09.04.2013, 23:00 [ТС] | ||||||||
дело в том, что мы находимся в теме Visual C++, так, не в шарпе? ок? далее... в самом стандарте C++ не стандартизированны потоки вообще, они вошли только в 0x11 в std::thread из boost::thread, так? понятно что Visual Studio 2010 явно не знает про 0x11 вопрос был как замутить поток - сходу в глаза бросились Си-шные _beginthread/_begintreadex - падает, следом WinAPI-шный CreatThread - тот же результат ну так мой код
0
|
||||||||
|
|
||||
| 09.04.2013, 23:16 | ||||
Добавлено через 8 минут Не по теме: PS:abit,
0
|
||||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
|||
| 09.04.2013, 23:22 [ТС] | |||
|
я описал вопрос в теме Visual C++, аккуратно выбрал тему это уже промах модераторов на форме есть разделы С#.NET - https://www.cyberforum.ru/csharp-net/ есть - C++/CLI - https://www.cyberforum.ru/cpp-cli/ мой вопрос стоял только к Visual C++ Expess, это наиболее близкая тема к моему вопросу собственно если вы погуглите - вряд ли найдёте решение, этой проблемы, что меня мучила, только больше вопросов встретите как это решить, даже на американских форумах... а я вам дал решение, не жалко )
вместо std::string s юзать char s[10000]
0
|
|||
|
|
|
| 09.04.2013, 23:28 | |
|
abit, если ты перестанешь страдать болезню "я не хочу никого слушать" и хоть немного послушаешь взрослого дядю умеющего создавать RemoteThread а не обычные потоки, то возьмёшь скачаешь 2005-ую студию и перестанешь упорствовать что да как. Я привёл код именно того что тебе надо, чтобы его слинковать надо стандарт эдишн, если таковой нет то о каком росте к профи может идти речь?! Всё я реально начинаю злиться, лучше трезво всё перечитай, а я пока займусь делами.
0
|
|
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||
| 09.04.2013, 23:42 [ТС] | ||
|
2) мне это код вообще не нужен, он не корректен и на ананлоге ALTERA Cyclon II я забью дофига драгоценной памяти хотя бы твоей строкой char szMsg[256]; - там каждый бит на счету 3) я повторяю, что благодарен тебе и даже поставил плюс за твоё сообщение, просто потому что оно подтолкнуло меня на мысль хватит тема закрыта, до решения я допёр и даже опубликовал болванку как запустить поток в VS C++ 2010 Express, которую кстати нигде больше не встретите, встретите только вопросы как же это сделать? закроем тему, и давайте жить дружно
0
|
||
|
|
||||||||
| 10.04.2013, 00:02 | ||||||||
|
PS:Оборонка тем более деньги имеет на софт Я не вижу что ты понял и всё, ты уверен : а) я не знаю чего-то там и поколдовав, ты обязательно запустишь static void Thread(PVOID pParams) на экспресе - не будет этого хочешь ты или нет, просто экспрес "не умеет" (нет нужных хедеров и либов) параллелить на плюсах б)ты не умешь анализиролвать код, если ты не заметил мой стрковый лиетрал передаётся из основного потока в нить, я просто показал как идёт передача, и постоянно пытаешся меня попрекнуть strcpy пфф...
Научись видеть в простых вещах нечто большее, ведь всё гениальное чертовски просто. в) Запомни если код нельзя написать так чтобы потом его написать снуля проснувшись ночью после того как проспал 3 часа, то этот код надо либо сжечь либо перерабоать в простой со стандартными железными провернными коснтрукциями. Желаю тебе успехов в создании софта, на сим надобности в моей помощи либо советах более не вижу.
0
|
||||||||
|
868 / 527 / 148
Регистрация: 03.02.2013
Сообщений: 1,845
|
||
| 10.04.2013, 01:26 [ТС] | ||
я эту передачу читал в куче мест, ты случаем не переводчик msdn? твой язык очень близок к нему) хотя нет, слов " стрковый" и "лиетрал" я и там не встречал
0
|
||
| 10.04.2013, 01:26 | |
|
Помогаю со студенческими работами здесь
14
Создал поток в классе (visual studio 2015). Возникли ошибки. Как исправить?
Поток освобождается, но переменная, которой был присвоен этот поток, не очищается Создал поток. В нем выделил буффер. Поток выполнился, но из за буфера ругнулся. Ошибка-Текущий поток должен быть задан как поток однопоточного контейнера STA Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во
всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
|