Приложение не отображается. Зачем? - PullRequest
1 голос
/ 16 сентября 2009

Мое приложение было создано с использованием VB.NET. Это EXE-приложение. Он уже хорошо работает на десятках хостов Windows как самостоятельное приложение - без среды разработки.

Сейчас я пытаюсь запустить его на сервере Windows 2008 (как собственное приложение), но форма не отображается - ничего не отображается. Когда я отлаживаю, я вижу, что он выполняет все подпрограммы "form_load" до конца, но затем ничего не отображается. Я не нахожу ошибок. Что может быть причиной? Что я должен проверить?

Я должен сказать, что он отлично работает на многих других машинах Windows, но не на машинах с сервером Windows 2008 (мы пробовали на другом).

Это не приложение базы данных. Только графический интерфейс.

Заранее спасибо!

Ответы [ 4 ]

2 голосов
/ 24 сентября 2009

Вы говорите "ничего не отображается". Но отображается ли приложение на панели задач Windows?

Возможно, форма отображается, но позиция находится за пределами экрана. Например, верхний левый угол может быть в (1300, 100) или в (-1300, -1100).

Попробуйте запустить его снова, но затем (когда форма НЕ ДОЛЖНА быть видимой) попробуйте нажать ALT + SPACE. Если ваше окно действительно существует, вы увидите системное меню (Восстановить, Переместить, Размер и т. Д.). В этом случае выберите Размер - вы должны иметь возможность использовать клавиши со стрелками мыши и / или клавиатуры, чтобы сделать окно видимым.

С другой стороны, если приложение должно отображаться в панели задач Windows, но это не так, значит, что-то происходит в (или сразу после) form_Load, что делает приложение завершенным. Чтобы дважды проверить, происходит ли это, попробуйте добавить этот код:

    Private Sub Form1_FormClosed(ByVal sender As Object, _
        ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
    MsgBox("Form is closing")
End Sub
1 голос
/ 17 декабря 2009

Убедитесь, что он не падает при запуске.

0 голосов
/ 17 декабря 2009

Если ничего не отображается из-за прекращения работы приложения, это может быть связано с необработанным исключением. Чтобы узнать, завершилось ли приложение, зайдите в диспетчер задач и посмотрите, запущено ли приложение. Если он был прерван, проверьте журнал событий приложений Windows. Если вам повезет, вы увидите запись об ошибке и, возможно, даже трассировку стека в этом журнале.

0 голосов
/ 16 сентября 2009

Я полагаю, на сервере установлен соответствующий .net Framework?

...