Я занимаюсь разработкой приложений с 2-х компонентов:ActiveForm является Null, не может активировать его
- распознаватель речи, которая печатает вещи на консоли;
- Форма с картами google (с платой GMap.NET).
Иногда речевой распознаватель просто останавливается, а другие взаимодействия с Google Maps ничего не делают. Когда это происходит, единственным решением является перезапуск программы. Остановка кажется случайной, поскольку иногда я могу сделать несколько команд, прежде чем кто-либо из них начнет игнорировать меня. Я обнаружил, что мне нужно вызвать форму как создателя взаимодействия с картами Google, чтобы взаимодействовать с картами, однако иногда System.Windows.Forms.Form.ActiveForm возвращает значение null, и я не могу его вызывать. Я думаю, что это проблема, которая вызывает все проблемы, с которыми я столкнулся.
Есть ли обходной путь или советы? Большое спасибо заранее.
if (System.Windows.Forms.Form.ActiveForm == null)
{
Console.WriteLine(Application.OpenForms.ToString());
//System.Windows.Forms.Form.ActiveForm.Activate();
Console.WriteLine("Active form is null");
}
else if (System.Windows.Forms.Form.ActiveForm.InvokeRequired)
{
CallBack d = new CallBack(run);
System.Windows.Forms.Form.ActiveForm.BeginInvoke(d, new object[] { obj });
}
Поместите код –
Отредактировано для добавления части кода. То, что «Активная форма имеет значение null», происходит, когда карта не отвечает, даже несмотря на то, что распознаватель речи работает (и печатает материал) –