Tassadar77
Дата: 18.05.2006 13:29:00
Есть форма меню, из нее вызываются все остальные формы.
Дочернию форму вызываю так:
Calculation frmCalculation = new Calculation();
frmCalculation.ShowDialog();
В Load доченей формы получаю данные в другом потоке:
this.Enabled = false;
this.Cursor = Cursors.WaitCursor;
Thread MyThread = new Thread(new ThreadStart(GetData));
MyThread.Start();
while (MyThread.IsAlive)
{
Application.DoEvents();
}
this.Cursor = Cursors.Default;
this.Enabled = true;
Как сделать так чтобы, пока загружаются данные, на экране был виден курсор в форме часов?
winsky!
Дата: 18.05.2006 13:33:21
хм... вопрос: а зачем вы это делаете в отдельном потоке?
Tassadar77
Дата: 18.05.2006 13:39:48
Операция длительная:
1) Обращение к веб-сервису
2) веб-сервис обращается к com-библиотеке
3) библиотека обращается к базе
тк из базы мне нужны большие объемы данных, поэтому получаю их в другом потоке чтобы не морозить интерфейс
(COM - желание заказчика)
winsky!
Дата: 18.05.2006 13:49:35
дык вы его вот этим while (MyThread.IsAlive) по идее и морозите
Tassadar77
Дата: 18.05.2006 14:03:50
Да этим морожу, но при этом на главной форме курсор мыши должен быть в форме часов
winsky!
Дата: 18.05.2006 14:26:48
с отдельным потоком или без - в обоих случаях будет "заморозка", смысл тогда использования отдельного потока?
попробуйте вместо этого while (MyThread.IsAlive)
использоваться таймер, в котором будет проверятся состояние потока, и которой активирует форму (Enabled = true) после завершения выполнения потока
Sergey Kartashev
Дата: 18.05.2006 14:36:28
Два вопроса:
1. А вот каким образом вы вызываете из Web-Services COM? Как побороли политики безопасности?
2. А не проще делать асинхронный вызов WebMethod'а и ничего залипать не будет...
Tassadar77
Дата: 18.05.2006 14:44:47
To Sergey Kartashev:
COM подключен к веб сервису напрямую (через reference)
Sergey Kartashev
Дата: 18.05.2006 14:53:01
Отлично! У меня тоже. Объект создаётся, после чего я вызываю любой метод и получаю security exception или фразу can't create activeX object
Tassadar77
Дата: 18.05.2006 15:00:48
Я с таким не сталкивался. Незнаю поможет или нет но у меня в web.config стоит:
<authentication mode="None"/>