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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.01.2013, 17:18   #1
Astat
Пользователь
 
Регистрация: 30.06.2010
Сообщений: 16
Смущение С++ Builder обращение к методу класса из другого класса

Всем добрый день!
Есть такая проблемка, а если быть точнее - хочу из потока (метода execute) вызывать метод своего класса. Проблема в том, что при исполнении потоком моего метода, мне в некоторые моменты необходимо производить синхронизацию.
Как мне описать вызов синхронизации в методе моего класса.
Правильным ли будет - объявить указатель в методе моего класса и уже через него вызывать ее.
Код:
MyThread *p;
. . .
p->Synchronize();
?
Но ведь сихронизацию нужно производить по отношению к объекту класса потока, почему то среда не дает скомпилировать:
Код:
p->Synchronize(p->func);
метод func является открытым.
Благодарю!
Astat вне форума Ответить с цитированием
Старый 20.01.2013, 17:44   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Опиши некий метод, принадлежащий потоку, который и будет вызываться при синхронизации. А вот в этом методе уже и вызывай метод нужного объекта.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.01.2013, 17:59   #3
Astat
Пользователь
 
Регистрация: 30.06.2010
Сообщений: 16
По умолчанию

Спасибо!
Я так по сути и сделал
Вся проблема - обратиться к этому методу из другого класса.
Метод func принадлежит потоку.
Суть в том, что я в потоке хочу объявлять объект своего класса - далее просто вызвать нужный метод.
И вот как раз в этом методе необходимо иногда синхронизацию производить.
Приведу пример:
Код:
void __fastcall MyThread::func() //метод для синхронизации
{
. . .
}
void __fastcall MyThread::Execute()
{
MyClass ob1;
......
ob1.Method1(str);
......
}
Описание метода Method1 класса ob1 (в другом файле)
Код:
int MyClass::Method1(String &str)
{.......
//Вот допустим здесь мне необходимо произвести синхронизацию, как это сделать?
Тот пример что я привел не работает :(
.....
}
Т.е. мне требуется синхронизация в методе моего класса которые я вызвал в самом потоке.
Благодарю!

Последний раз редактировалось Astat; 20.01.2013 в 18:04.
Astat вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Доступ к полю класса из другого поля это класса NaumOff Общие вопросы Delphi 10 09.10.2012 09:53
Конструктор класса не хочет принимать в качестве параметра адрес объекта другого класса Jugger Помощь студентам 3 05.01.2012 04:10
Обращение к из одной функции класса к другой того же класса,не указывая к какому объекту она относиться zipwind C++ Builder 1 09.04.2011 17:18
Обращение к члену класса _ILYA_ Visual C++ 2 13.10.2010 19:28
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? TwiX Общие вопросы Delphi 3 15.11.2009 00:54