Хм. ;) Делегаты... А что может быть проще, чем передавать в потоковую функцию указатель на какой-либо объект? Затем типизировать его и использовать так, как требуется Ж)11.02.05 12:50 Число просмотров: 2050 Автор: kstati <Евгений Борисов> Статус: Elderman
[Net] Как создать MDI child для главного потока родителя из дочернего потока?08.02.05 11:16 Автор: mikoto Статус: Незарегистрированный пользователь Отредактировано 08.02.05 11:17 Количество правок: 1
public class FU : System.Windows.Forms.Form {
Thread th;
public FU()
{
this.th = new Thread(new ThreadStart(this.mega));
this.th.Start();
}
/* ..... */
private mega()
{
try
{
Form cf = new Form("asdf");
cf.MdiParent = this;
cf.Show();
}
catch (Exception e)
{
MessageBox.Show("Cannot create MDI" + e);
}
}
}
---
выбрасывает исключение..
может можно как нибуть передать сообщение родителю или изменить какой параметр , чтобы родитель увидил ето и создал все что нужно?
А ты не забыл передать потоку указатель &this ? ;)11.02.05 09:45 Автор: kstati <Евгений Борисов> Статус: Elderman
А при чем тут указатель? Владеет окном поток, его создающий - для него создается очредь сообщений, он должен реализовать код их выборки и т. д. (ну все знают, наверное). А тут окно, созданное потоком, пытаются присобачить как дочернее окну, которое создано другим потоком. Вызов создания дочернего окна для из потока должен маршаллироваться в поток, владеющий главным окном.
неа! ето не прокатит.. тут все далется проще с...11.02.05 12:04 Автор: mikoto Статус: Незарегистрированный пользователь
неа! ето не прокатит.. тут все далется проще с использованием делегатов!) я вчера ночью разобрался!
спасибо за помощь)
Хм. ;) Делегаты... А что может быть проще, чем передавать в потоковую функцию указатель на какой-либо объект? Затем типизировать его и использовать так, как требуется Ж)11.02.05 12:50 Автор: kstati <Евгений Борисов> Статус: Elderman
Насколько я понял это была ява (или сишарп - я в них не особо разбираюсь). В яве нет указателей (как и в сишарпе)11.02.05 13:33 Автор: amirul <Serge> Статус: The Elderman
> Эх. Никогда мне не понять "программистов" предпочитающих > платить производительностью за НЕЖЕЛАНИЕ понять указатели.
в C# указатели существуют.. они передаются так: public void fu(ref int bar)...
просто в моем случае нужно создавать MDI child не в дочернем потоке а в главном иначе там шизняк какой та получается)
да любой уважающий себя программер должен понимать указатели
В C# нет указателей (в их С-понимании), хотя использование...11.02.05 17:55 Автор: AS Статус: Незарегистрированный пользователь