Проблема при создании формы
От: FlyerDreamer  
Дата: 25.11.04 14:05
Оценка:
Всем привет!

У меня возникла следующая проблема:
Есть приложение, которое помимо всего прочего по dialup-у время от времени соединяется с неким устройством (не суть важно с каким именно). Когда инициируется соединение, создается дополнительный поток для обслуживания этого соединения. Проблема в следующем: если после того, как соединение инициировано, и дополнительный поток создан, попробовать создать модальное диалоговое окно из основного потока, то при вызове метода ShowDialog() выбрасывается исключение. Причем создание этого диалога до того, как запущена синхронизация не вызывает никаких проблем. Из описания этого исключения видно, что не удалось создать окно, потому что при его создании хэндл получился равным нулю. Но это еще не все! Дело в том, что эта проблема проявляется только в том случае, если приложение запущено не под отладчиком, у клиента. То есть под отладчиком диалог создается без проблем и в том случае, когда есть дополнительный поток и в том, когда его нет. Кусок кода, который создает этот модальный диалог абсолютно тривиален, и приведу его здесь, лишь для очистки совести :

frmInv GlobalInvForm; //объект класса, производного от System.Windows.Forms.Form
try
{
GlobalInvForm = new frmInv();
GlobalInvForm.Owner = this;
GlobalInvForm.Populate();
GlobalInvForm.ShowDialog();
}
catch (Exception e)
{
MessageBox.Show(e.ToString(), "My Application", MessageBoxButtons.OK, MessageBoxIcon.Error)
}



27.11.04 01:09: Перенесено модератором из '.NET' — AndrewVK
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.