Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 15.01.2011, 18:49   #1
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,840
По умолчанию CLR. Ошибка C3918. Как вызвать из объекта обработчик, переданный родителю объекта от деда?

Ситуация такая: Есть три объекта.
первый - форма, она создает второй объект, которому назначает событие
Код:
		TL^ L=gcnew TL;
			L->OnDone+= gcnew _OnDone(this,&Prg::Form1::OnDn);
Prg::Form1 - это моя форма, где есть обработчик OnDn.

Второй объект имеет описание события:
Код:
public delegate void _OnDone();
public ref class TL
{
public:
	TL(void);
        static event _OnDone^ OnDone;
...
Но он в свою очередь создает доппоток, и вот в этом доппотоке нужно вызывать обработчик Prg::Form1::OnDn;
Насколько я понял исходя из http://www.programmersforum.ru/showthread.php?t=132165
Сразу вызвать в классе доппотока OnDone класса TL не выйдет. ибо они вроде как приватны по самые небалуйся.

Как мне в этом случае сделать вызов обработчика от формы в класе-ребенке ребенка формы?

Я попробовал создать поле события в классе доппотока:
Код:
static event _OnDone^ IfDone;
И назначить ему
Код:
ThreadL->IfDone+=this->OnDone;
эта строка описана в одном из методов класса TL, но попадаю на ошибку
Цитата:
error C3918: для использования необходимо, чтобы "TL::OnDone" были данными-членом
Подскажите как мне в объект потока передать событие назначенное объекту, вызывающему доппоток, от формы.

Или же как указать что OnDone в TL должна быть видима в классе доппотока?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как создать обработчик событий для динамически созданного объекта Лукманов Александр Общие вопросы Delphi 1 22.03.2009 23:05
С помощью методов и свойств объекта осуществляется управление терминалом. Имя (идентификатор) объекта User>lia Общие вопросы Delphi 4 16.01.2009 17:37
Как поменять одну из текстур объекта не меняя все остальные и без повторной загрузки объекта в GLScene DomKr@t Мультимедиа в Delphi 0 14.12.2008 02:52
Вызвать onmouseover с объекта flash Romanbl4 JavaScript, Ajax 10 23.02.2008 02:27


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS