powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Поиск компонента в своем классе
8 сообщений из 8, страница 1 из 1
Поиск компонента в своем классе
    #38980718
kaskas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте
Столкнулся со следующей проблемой:
решил вывести одну из операций приложения в отдельный поток. Описал класс. В классе нужно сделать таймер, который регулярно будет запускать функцию из этого потока. Вот собсно и вопрос: как обратиться к таймеру, который создается в моём классе. Будь таймер элементом формы - FindComponent() меня бы спас наверное.. А так..
о себе: RAD Studio, C++ Builder XE3, FireMonkey.
немного кода
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
//----main.h--------------------------------
class TPingThread : public TThread
{
	__published:
	private:
	protected:
	public:
		void __fastcall CreateControls();
		void __fastcall Execute();
		void __fastcall tmrTimer(TObject *Sender);
};
TPingThread *PingThread;

//----main.cpp----------------------------
void __fastcall TPingThread::CreateControls()
{
	TTimer *NewTimer = new TTimer(NULL);
	NewTimer->OnTimer = TPingThread::tmrTimer;
	NewTimer->Interval = 1000;
	NewTimer->Enabled = true;
	NewTimer->Name = "tmr";

}
//---------------------------------------------------------------------------
void __fastcall TPingThread::tmrTimer(TObject *Sender)
{
       ShowMessage("Ok");
}



Тут все работает. А вот как мне, например, выключить таймер вне функции tmrTimer CreateControls?
Заранее спасибо!
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38980752
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В потоке кроме вызова по времени функции еще что-то будет?
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38980771
kaskas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
m_Sla, угумс. Но я так понимаю, что там все будет по шаблону дальше. Главное с первой разобраться=)
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38980806
m_Sla
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объявление Timer *NewTimer поставь в private или protected.
А для управления таймеров из вне добавь функции в public TPingThread::start_timer() и т.п.
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38980864
kaskas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! Почти получилось=)
Таймер tmr я выключить смог! А вот изменить свойство другого компонента, созданного там же - уже не получается, вылетает аксэсвиолэйшн..
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38980875
kaskas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прдон, разобрался. Дело было в том, что забыл объявление остальных компонент перенести в private.
Все работает, огромное спасибо!
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38981436
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kaskas,

А ведь скажут , что чтобы всё работало, надо обязательно класть в секцию private ...
...
Рейтинг: 0 / 0
Поиск компонента в своем классе
    #38983633
kaskas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZiv, сарказм или брюзжание?=)
можно подробнее, что не так и как надо?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Поиск компонента в своем классе
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]