Привет!
Объяснение может быть только одно - Указанного ListView нет.
Вы его не инициализировали в коде, или не создали в winform на макете. Либо создали, но ссылаетесь не на него.
Если вглядеться в код, у меня только вопросы, если честно:
1 - А Вы уверены, что нужное поле будет заполнено? Тут нет проверки на null как минимум. index = Convert.ToInt32(textBox1.Text); - от сюда легко может прилететь null, а с ним NullReferenceException.
2 - Название типа переменной и имени переменной не должны совпадать. Это будет работать, но плохая практика - info info = new info();
3 - label1.Text = info.Name[index]; Судя по всему, тут Вы ждете какой то список (list или массив), а тип переменной при этом для 1 объекта (см пункт 2). По этому индекса никакого нет с таким объектом.
4 - Воспользуйтесь дебагом просто. Поставьте точку на входе в метод button1_Click и пошагово двигайтесь. На нужном шаге программа упадет с ошибкой и Вы поймете какая строчка не работает.
сергей кузьминsudo rm -rf /Максим Гришин Спасибо за помощь!
Проблема оказалась на сервере там где вы и говорили. Теперь я знаю, как через код такое проверить даже.
Опишите кто-то из Вас решение в "ответы" и я его приму за решение.
Максим Гришинсергей кузьмин тут судя по диагностики, что я провел дело не в коде моем, а в сервере windows.
Развернул сервер на vm отдельно и все работает прекрасно с моим кодом и тестовым кодом с теми enum, что вы мне любезнейше подсказали.
Спасибо за помощь.
сергей кузьмин, с доступом понятно, что ковырять придется, не совсем понимаю различия доступа между серверной и обычной машиной. Что там такого принципиального.
Переменная будет, потому что она есть, мы ее сами руками делали и по ней уже работают другие ПО. Просто принять как факт стоит ее наличие.
freeExec, Переменные окружения одинаковые. Мы их в ручную вбиваем и значения к ним.
Только что проверил работу ПО с глобальными переменными на сторонней машине знакомого - все работает.
Программы запускаются из под пользователя или админа. Это вообще не причем.
Тут можно сделать вывод: проблема либо на машинах windows server, либо на конкретном хосте.
Это не команда уже. То что вы ходите имет смысл сделать в нескольких отдельных функциях, где одна вызывает другую как дочернюю и следил за ошибками и вылетающими из нее, и перезапуском ее.
Для выхода из цикла по ошибке или отсутствию пинга как у вас можно использовать break, тогда цикл закончится и программа пойдет дальше него, вниз скрипта.
сергей кузьмин, Я бы не торопился с выводами на вашем месте.
Обращаю внимание, что использую .NET 6, а не Framework и с документацией ознакомился предварительно, по этому и спрашиваю.
Можете сами по ссылке глянуть, что рекомендуют сами Microsoft. Так же они со старой версии документации основанную на Framework, отправляют ссылкой на указанную мной.
Ivanushka255, Если тебе прям очень хочется понять как это все работает, то найдите книгу "Олифер компьютерные сети".
В ней, все очень просто и классно рассказано.
От обычного кабеля и передачи данных, до сложной маршрутизации и мультипликации. В том числе есть ответ и на ваш вопрос.
Как я вижу у Вас очень выборочные знания по сетям, от того у Вас и не складывается понимание ответов который мы Вам предоставляем.
Carburn, WinForm не имеет явной переменной с объектом. Запуск главного окна идет через Aplication.Run(new Form1) (примерно так).
Так что этот вариант не Вариант, если вы не знаете способа обращения к неявному обьекту.
Объяснение может быть только одно - Указанного ListView нет.
Вы его не инициализировали в коде, или не создали в winform на макете. Либо создали, но ссылаетесь не на него.