![]() |
Модераторы: feodorv, GremlinProg, xvr, Fixin |
![]() ![]() ![]() |
|
Gremlin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
_beginthread( ReadBuff, 0, NULL ); где
|
||||
|
|||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 27 Всего: 158 |
дык
|
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Не там просил void(cdecl *)(void *) я сделал так объявил в хидере void (__cdecl *ReadABuffer)(void *dummy); без описания _beginthread( ReadABuffer, 0, NULL ); компилит без проблем но кагда я её пытаюсь описать эту функцию
void (__cdecl *ReadABuffer)(void *dummy) {} то на на скобке вылезает еггог d:\C++_Project\Visual C++.NET\Kistler Measuring Hardware\MultiAmp.cpp(833): error C2470: 'ReadABuffer' : looks like a function definition, but there is no formal parameter list; skipping apparent body тоесть функция выглядит как функция но не функция гыгы и не знаю что и сделать теперь ![]() |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Возможно в компиляторе нужно чтото включить? хотя там мультитридинг стоит
|
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
это называется "гадание на кофейной гуще"
покажи код -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
GremlinProg |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
для _beginthread callback должен выглядеть так:
void(__cdecl*FType)(void *) - это описание ТИПА функции(здесь имя типа FType) void __cdecl func(void *) - это описание функции(здесь имя функции func) разницу видишь? Это сообщение отредактировал(а) GremlinProg - 18.9.2006, 17:55 -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
||||
|
|||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Ааааааа два дня сижу думаю твою дивизию тоесть я сделал так в хидере void (__cdecl *ReadABuffer)(void *dummy); а в цпп описываю не указатель а саму функцию void __cdecl ReadABuffer(void *dummy); блин как сразу не допенькал
![]() |
|||
|
||||
Gremlin |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Такс серавно чото не получается вопщем у меня есть класс его хидер:
СPP:
И блин если я так объявляю то члены класса не видны в функции ReadABuffer а мне нужно чтоб это все в классе делалось ![]() |
||||
|
|||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
ага сибо мудреное объявление но вроде робит
![]() Это сообщение отредактировал(а) Gremlin - 19.9.2006, 18:25 |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
у меня не ругается, компилер другой, вынеси реализацию этих методов в cpp или хотя бы StaticReadABuffer
-------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
Но я думал что создав другой поток я смогу работать с остальным приложением нормально а оно виснет и ждет ответа с ком порта Это сообщение отредактировал(а) Gremlin - 19.9.2006, 18:54 |
|||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Ну убери WaitForSingleObject вообще, либо поставь перед завершением программы. -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
Gremlin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 28.8.2006 Репутация: нет Всего: нет |
||||
|
||||
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 99 Всего: 106 |
Я говорю вот про вэйт после создания потока :
Убери его пока, чтобы ничего не висло. Правильнее будет поставить его перед завершением программы, например в WM_DESTROY (это только в случае, если нужно освободить какие-нибудь ресурсы, используемые в потоке, например буфер, в который ты складываешь инфу с кома или сбросить буфера в файл и т.п.) -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]() ![]() ![]() |
Правила форума "C/C++: Системное программирование и WinAPI" | |
|
На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы . Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |