У меня очень трудное время для отладки/исправления приложения.Почему приложение WinMobile (Compact Framework) висит после фотографии?
Кратко: - Я создал «мастер» типа приложения, которое начинается с пользователем с фотографией (с использованием общего диалога для фотографий)
Если пользователь пытается использовать окно ввода текста (SIP) (маленькое окно ввода клавиатуры) после того, как фотография была сделана, цикл событий, кажется, зависает - событие не обрабатывается или задерживается на некоторое время.
Если пользователь не делает снимок, клавиатура SIP отлично работает.
Это происходит только на некоторых из моих устройств. В частности, это не проблема на MC65, но проблема на ES400.
Похоже, что цикл событий приложения запутывается, когда я показываю формы и фотографирую.
Если создано простое тестовое приложение с одной формой, содержащей кнопку (обработчик события берет фотографию) и текстовое поле, которое принимает ввод. Это прекрасно работает. Но это только одно приложение формы ничего не делает.
Когда я совмещаю фотосъемку с отображением формы (создание «мастера»), все идет плохо.
Интересно, какой цикл я должен запускать?
По существу пользователь фотографирует затем проходит через некоторые формы (я скрываю одну форму и показать другую при нажатии на кнопку «Далее».)
Form.Show вызывается из основной формы после картины берется, а затем у меня есть что-то вроде:
while(UserNotFinished)
{
Application.DoEvents()
}
Где UserNotFinished
это флаг установлен от моего мастера/формы после нажатия на кнопку «Отправить» нажата.
Буду рад предоставить больше кода, но не уверен, что было бы полезно.
Я новичок в C# и разработки CF (много лет C++/Win32)
Реальной запутанная часть является то, что это работает на одном устройстве, но не на другом. Фактически устройство полностью зависает. Он заканчивает соединение activesync, и иногда мне приходится жестко перезагружать, удаляя батарею.
Если вы используете Win32 в течение года, как бы вы достигли эффекта, который вы пытаетесь получить с помощью цикла DoEvent? Вы бы назвали «GetMessage» и «DispatchMessage» в цикле (вот что вы здесь делаете)? Я предполагаю, что ты этого не сделаешь. Попробуйте взглянуть на нее с точки зрения вашего опыта Win32. – ctacke
ОК, спасибо. Я скопировал какой-то (плохой) код из интернетов ... моя первая ошибка. – Tim