Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для AlexNorton
17 / 17 / 6
Регистрация: 30.04.2016
Сообщений: 227

Вызов диалогового окна выгружает программу

28.09.2023, 16:55. Показов 1337. Ответов 24
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем большой привет!

В очередной раз всплыла проблема при вызове системных диалоговых окон.
Только ранее на одном ПК прога не отрисовывала MsgBox'ы, а теперь молча выгружается при вызове обычного диалогового окна «SaveAs...»
Софтина пашет на нескольких сотнях машин и, если в прошлый раз все списали на пиратскую сборку ОСи, то теперь на это уповать не приходится:
Винда - семерка (СП-1) х64. Однозначно - лицензия.

Моя программа написана под NET Framework 4.0. На целевой машине стоит 4.5.1. Я доставил NET Framework 4.6, NET Framework 4.7. Переустановил всё, что на мой дилетантский взгляд хоть как-то относится к системе (Microsoft Visual C++, DirectX), всю обвязку, распространяемую с программой (всё, что лежит рядом с экзэшником).
Не помогло.

Вот выдержка из кода:
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Sub BttFileSave_Click(sender As Object, e As EventArgs) Handles BttFileSave.Click
    SaveFileDialog.FileName = "KSU-" & Replace(Replace(Replace(Now.ToString, ":", "-"), " ", "_"), ".", "-")
 
    MsgBox("1",, "")
 
    '=========================
    толпа действий
    '=========================
 
    MsgBox("2",, "")
 
    If SaveFileDialog.ShowDialog = DialogResult.OK Then
        MsgBox("3",, "")
    End If
End Sub
MsgBox-1 отрабатывает,
MsgBox-2 отрабатывает,
а до MsgBox-3 не доходит даже очередь.
То есть программа молча валится в момент вызова диалогового окна. Хотя должно открыться окно SaveAs с предложением сохранить файл. И только потом сработать MsgBox-3

На сотнях машин всё работает, а одна попалась с таким глюком.
-----------------------------------

ЗЫ: Пробовал грешить на формирование имени файла в зависимости от установки локали с российского времени на амерское и п.р.
VB.NET
1
SaveFileDialog.FileName = "KSU-" & Replace(Replace(Replace(Now.ToString, ":", "-"), " ", "_"), ".", "-")
При нашем времени:
Now = #28.09.2023_20:45:49#
KSU-28-09-2023_20-45-49.xlsx

При супостатском:
Now = #9/28/2023 08:41:34 PM#
KSU-9/28/23_08-41-34.xlsx

Понятно, что на нормальных ПК винда ругается на сформированное имя файла, но программа от этого не крашится.
А на этом она просто сворачивается и вылетает из процессов.

Самое главное чуть не забыл: на этой же машине, в ворде и экселе, тот же SaveFileDialog прекрасно работает

Может есть у кого идеи - как одолеть это несчастье?
Выручайте...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.09.2023, 16:55
Ответы с готовыми решениями:

Вызов диалогового окна без отправки формы
есть кнопка <button onclick='opendialog()' class="change">Показ окна</button> при клике на нее показывается диалоговое окно. Работает...

Вызов диалогового окна при столкновении PictureBox
Всем здравствуйте! Мне задали задание на паре, создать игру я еще плохо разбираюсь в программировании, Мне нужно сделать так, что при...

Вызов диалогового окна из диалогового окна
Здравствуйте, дорогие форумчане! Столкнулся со следующей проблемой: не могу вызвать диалоговое окно из открытого диалогового окна. Из...

24
2298 / 1614 / 400
Регистрация: 26.06.2017
Сообщений: 4,780
Записей в блоге: 1
01.10.2023, 11:20
Студворк — интернет-сервис помощи студентам
Замабувараев, вот же ТС пишет
Цитата Сообщение от AlexNorton Посмотреть сообщение
и в отдельных потоках запускают несколько процессов по расписаниям.
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
01.10.2023, 12:08
То есть кто‐то из другого потока портит данные?
0
 Аватар для AlexNorton
17 / 17 / 6
Регистрация: 30.04.2016
Сообщений: 227
01.10.2023, 14:41  [ТС]
Цитата Сообщение от Uswer Посмотреть сообщение
стараюсь не прибегать к MsgBox без явной на то причины.
когда у пользователя приходится выпросить подтверждение или выбор действий - приходится.

Всегда раздражал неконтролируемый кегль шрифта (с гулькину пипирку). Как-будто у Гейтса за место на моём экране деньги отбирали. Но такого подвоха от MsgBox я не ожидал )). Но и замечен он пока за этим не был.

Добавлено через 1 минуту
Цитата Сообщение от Замабувараев Посмотреть сообщение
Я надеюсь, у вас нет никаких дополнительных потоков?
Не про это?
А нет ли фоновых задач в приложении?
на стартовой форме пара таймеров висит и в отдельных потоках запускают несколько процессов по расписаниям.
Процессы, после выполнения поставленных задач, останавливаются до очередного запуска, либо при закрытии стартовой формы приложения я душу их поимённо.
Добавлено через 5 минут
Цитата Сообщение от Замабувараев Посмотреть сообщение
То есть кто‐то из другого потока портит данные?
Эта форма от тех процессов не зависит. Там в фоне идет периодическая проверка состояния сети и поиск сообщений в системе уведомлений.
Ну и опять же - на всех других ПК проблем нет.
А косячный процесс в фоне практически сразу вылазит наружу ))
0
COM‐пропагандист
 Аватар для Замабувараев
936 / 785 / 149
Регистрация: 18.12.2014
Сообщений: 2,256
Записей в блоге: 4
01.10.2023, 18:32
То есть кто‐то из другого потока портит данные?
Цитата Сообщение от AlexNorton Посмотреть сообщение
Эта форма от тех процессов не зависит.
Так часто говорят, а потом оказывается, что второй поток читает данные из формы или общего массива, или ещё из какого‐нибудь списка.
0
 Аватар для AlexNorton
17 / 17 / 6
Регистрация: 30.04.2016
Сообщений: 227
01.10.2023, 20:03  [ТС]
Цитата Сообщение от Замабувараев Посмотреть сообщение
Так часто говорят, а потом оказывается, что второй поток читает данные из формы или общего массива, или ещё из какого‐нибудь списка.
Возможно, но в данном случае сбой происходит после того, как все данные сформированы и перенаправлены в таблицу реогрида, то есть даже развязка между входными и выходными данными произошла.

Косяк в обработке данных исключён разными подходами:
Цитата Сообщение от AlexNorton Посмотреть сообщение
Там в первом сообщении кусок кода, в нём «MsgBox("2",, "")» отрабатывает.
Падёж происходит именно на вызове диалога.
Цитата Сообщение от AlexNorton Посмотреть сообщение
Я просто из блока убирал весь лишний код. Плюс: в программе не одно место, где происходит вызов диалоговых окон.
Сбоит именно вызов диалогового окна при попытке сохранения файла.

Добавлено через 47 секунд
Ну и опять же - на других ПК всё исправно отрабатывает...

Добавлено через 50 секунд
если бы была логическая ошибка в обработке данных - она везде бы вылезала.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.10.2023, 20:03

Вызов диалогового окна
Добрый день. В основном активити есть список RecycleView для добавления в список есть кнопка в этом активити. При нажатии кнопки...

Циклический вызов диалогового окна
Доброго времени суток! Я столкнулся с проблемой циклического вызова диалоговых окон. Если нажать на кнопку Cancel сразу после запуска, то...

Вызов диалогового окна поиска у dbgridEh
Пользователи просят сделать вызов поиска по нажатию кнопки. Подключаю библиотеку DBGridEhFindDlgs.hpp Вызываю функцию: ...

Вызов диалогового окна Цвета Спектр
Всем доброго времени суток! У меня такой вопрос: Есть ли в Word команда, которая вызывает диалоговое окно выбора цвета шрифта...

Вызов стандартного диалогового окна печати
ДОбрый день. Проблема: Нужно кнопкой вызвать диалоговое окно печати документа из приложения. Не смог найти примера реализации,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
25
Ответ Создать тему
Новые блоги и статьи
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки Правым кликом по серверу -> отладочная информация -> edit Заменить "net": "raw", на "net": "tcp", Нажать кнопку reload.
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru