powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Invoke в J#
10 сообщений из 10, страница 1 из 1
Invoke в J#
    #36685206
Пытаюсь изменить контролс из второго потока. Делаю это как описано тут.

Обьявляю делегат.
Код: plaintext
public delegate void DrawSafety(PictureBox box);

Вызываю Invoke
[SRC j#]\tprivate void DrawingSafety(PictureBox box)
\t{
\t\tif (box.get_InvokeRequired())
\t\t{
\t\t\tbox.Invoke(new DrawSafety(DrawingSafety), new Object[] { box });
\t\t}
\t\telse Drawing();
\t}[/src]
Но J# компилятор выдает ошибку что он:
Cannot find method \'Invoke(DrawSafety, Object[])\' in \'System.Windows.Forms.PictureBox\'

Почему DrawSafety в даном случае не является делегатом?
...
Рейтинг: 0 / 0
Invoke в J#
    #36685207
Вызываю Invoke
[SRC с#] private void DrawingSafety(PictureBox box)
{
if (box.get_InvokeRequired())
{
box.Invoke(new DrawSafety(DrawingSafety), new Object[] { box });
}
else Drawing();
}[/src]Но J# компилятор выдает ошибку что он:
Cannot find method 'Invoke(DrawSafety, Object[])' in 'System.Windows.Forms.PictureBox'
...
Рейтинг: 0 / 0
Invoke в J#
    #36685208
Попытка номер 3.
Вызываю Invoke
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
private void DrawingSafety(PictureBox box)
{
if (box.get_InvokeRequired())
{
box.Invoke(new DrawSafety(DrawingSafety), new Object[] { box });
}
else Drawing();
}
Но J# компилятор выдает ошибку что он:
Cannot find method 'Invoke(DrawSafety, Object[])' in 'System.Windows.Forms.PictureBox'
...
Рейтинг: 0 / 0
Invoke в J#
    #36685364
Попробовал вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
	public void DrawingSafety(PictureBox box)
	{
		if (box.get_InvokeRequired())
		{
			Delegate dlg = Delegate.CreateDelegate(Type.GetType("Server.DrawSafety"), this, "DrawingSafety");
			box.Invoke(dlg, new Object[] { box });
		}
		else Drawing();
	}
В результате выдает исключение:
Type must derive from Delegate.
Parameter name: type
...
Рейтинг: 0 / 0
Invoke в J#
    #36685374
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Криворукий,

+1
Давай пятую попытку..
...
Рейтинг: 0 / 0
Invoke в J#
    #36685868
Фотография webus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
J# уж давно похоронили еще с 2005 студии, а вы тут таким занимаетесь.
...
Рейтинг: 0 / 0
Invoke в J#
    #36686581
Обьясните это преподу, старому маразматику.
...
Рейтинг: 0 / 0
Invoke в J#
    #36687314
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КриворукийОбьясните это преподу, старому маразматику.Ну пусть он сам и расскажет как делать. Скажи ему что никто не знает. Тут пусть отпишет...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Invoke в J#
    #39593715
NEKDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для тех кто в танке,

Код: c#
1.
2.
/**@delegate*/
public delegate void DrawSafety(PictureBox box);


/**@delegate*/ -- обязательно, это не комментарий, а параметр аналог(для примера только) для C#
Код: c#
1.
2.
[System.Delegate]
delegate void DrawSafety(PictureBox box); 
...
Рейтинг: 0 / 0
Invoke в J#
    #39593717
NEKDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
NEKDS,

Зарегистрировался только для того чтобы в поиске ошибок кроме ещё и решение было:)
читаем подробнее здесь https://blogs.msdn.microsoft.com/premk/2005/11/25/how-to-create-system-delegate-in-j/
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Invoke в J#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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