Таймер .NET 2.0 под Wine (Ubuntu 10.10) - PullRequest
3 голосов
/ 23 января 2012

У меня есть приложение VB.NET, которое использует таймер:

MyTimer_Tick
    ModifySomeGlobalDateTimeVariables()
    ModifySomeLabels()

В Windows это работает хорошо, но когда я пробую его в Linux, через некоторое время происходит сбой.У меня установлен Winetricks, добавлены все библиотеки, которые мне нужны (я думаю), dotnet20, corefonts, riched20, riched30 и т. Д.

Есть идеи, почему происходит сбой?(без исключений, ...&>log.txt не работает)

1 Ответ

1 голос
/ 11 апреля 2012

Согласно информации дизассемблирования, System.Windows.Forms.Timer во время установки свойства Enabled имеет блок try без каких-либо catch и re-throw, поэтому я думаю, что ваша проблема вызвана этим поведением.

System.Timers.Timer использует System.Threading.Timer в фоновом режиме и имеет гораздо более четкий код при инициализации. Вы также можете прочитать об этом здесь .

Так что ваш выбор изменить класс совершенно верен.

...