Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2013, 20:43   #1
KlIm16
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 37
Вопрос Мютекс???

Помогите пожалуйста. Есть три потока. Нужно чтобы за их работой следил мютекс. Походу мысли правильно направленные но компилятор выдает ошибки. Подскажите что делать:confused :
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
volatile BOOL Exit;
HANDLE hMutex;
DWORD WINAPI FirstFunc (LPVOID pParam);
DWORD WINAPI SecondFunc (LPVOID pParam);
DWORD WINAPI ThirdFunc (LPVOID pParam);

//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
	: TForm(Owner)
{

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
	if (OpenMutex(SYNCHRONIZE, FALSE, "myMutex") == NULL)
{
	hMutex = CreateMutex(NULL, FALSE, "myMutex");
}
	else
	hMutex = OpenMutex(SYNCHRONIZE, FALSE, "myMutex");

HANDLE hFirst = CreateThread(NULL, 0, FirstFunc, NULL, NULL, NULL);
HANDLE hSecond = CreateThread(NULL, 0, SecondFunc, NULL, NULL, NULL);
HANDLE hThird = CreateThread(NULL, 0, ThirdFunc, NULL, NULL, NULL);
}
 DWORD WINAPI FirstFunc (LPVOID pParam)
{
	while(!Exit)
	{
if (WaitForSingleObject(hMutex, INFINITE) == WAIT_OBJECT_0)
		{
				for (int i = 0; i<= 4; i++)
					Beep(100, 250);
			ReleaseMutex(hMutex);
		}
	}
	return (0);
}
DWORD WINAPI SecondFunc (LPVOID pParam)
{
	while(!Exit)
	{
if (WaitForSingleObject(hMutex, INFINITE) == WAIT_OBJECT_0)
		{
				for (int i = 0; i<= 4; i++)
					Beep(200, 250);
			ReleaseMutex(hMutex);
		}
	}
	return (0);
}
DWORD WINAPI ThirdFunc (LPVOID pParam)
{
	while(!Exit)
	{
if (WaitForSingleObject(hMutex, INFINITE) == WAIT_OBJECT_0)
		{
				for (int i = 0; i<= 4; i++)
					Beep(300, 250);
			ReleaseMutex(hMutex);
		}
	}
	return (0);
}


//---------------------------------------------------------------------------
KlIm16 вне форума Ответить с цитированием
Старый 03.04.2013, 21:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

А ошибки то какие?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 05.04.2013, 21:59   #3
KlIm16
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 37
По умолчанию

Код:
[BCC32 Error] Unit1.cpp(28): E2342 Type mismatch in parameter 'lpName' (wanted 'const wchar_t *', got 'const char *')
  Full parser context
    Unit1.cpp(27): parsing: void _fastcall TForm1::Button1Click(TObject *)
[BCC32 Error] Unit1.cpp(30): E2034 Cannot convert 'char const[8]' to 'const wchar_t *'
  Full parser context
    Unit1.cpp(27): parsing: void _fastcall TForm1::Button1Click(TObject *)
[BCC32 Error] Unit1.cpp(30): E2342 Type mismatch in parameter 'lpName' (wanted 'const wchar_t *', got 'const char *')
  Full parser context
    Unit1.cpp(27): parsing: void _fastcall TForm1::Button1Click(TObject *)
[BCC32 Error] Unit1.cpp(33): E2034 Cannot convert 'char const[8]' to 'const wchar_t *'
  Full parser context
KlIm16 вне форума Ответить с цитированием
Старый 05.04.2013, 22:04   #4
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

если студия:

свойства проекта -> главные -> использовать мульти-байт
_Bers вне форума Ответить с цитированием
Старый 07.04.2013, 17:26   #5
KlIm16
Пользователь
 
Регистрация: 16.02.2013
Сообщений: 37
По умолчанию

не нахожу такого((
KlIm16 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск