Здравствуйте, профессионалы!
Прошу помощи. У меня есть проект с использованием cRio. Создано 2 exe-файла: stert-RT.exe в контроллере и start-Host.exe на компе. Так вот при закрытии приложения на компе возникает ошибка (рис.1)
Отчет об ошибке:
Пробовала выполнять отладку exe, но она ничего не дала, потому что по нажатию на кнопку "Выход" просто останавливается основной цикл While. Правда отладчик выдает еще такое окно (рис.2)
Файл главного окна:
Надеюсь на помощь!
Ошибка при закрытии приложения
-
- professor
- Сообщения: 3407
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 176 раз
- Контактная информация:
Re: Ошибка при закрытии приложения
Сложно что-то сказать без subVI.
так что общие советы:
- убрать кириллицу из названий vi, exe.
- перекомпилировать программу (Ctrl-Shift-Run button), после чего снова сбилдить exe
- закомментировать участок, отвечающий за создание отчётов, судя по ошибкам, проблема в нём.
если не поможет, закомментировать всё. Постепенно включая куски обратно найти источник проблемы.
так что общие советы:
- убрать кириллицу из названий vi, exe.
- перекомпилировать программу (Ctrl-Shift-Run button), после чего снова сбилдить exe
- закомментировать участок, отвечающий за создание отчётов, судя по ошибкам, проблема в нём.
если не поможет, закомментировать всё. Постепенно включая куски обратно найти источник проблемы.
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: Ошибка при закрытии приложения
Здравствуйте, Artem.spb
Спасибо за подсказку. В результате проведенных мероприятий выявила, что ошибка возникает при использовании VI, который переключает раскладку клавиатуры, необходимую при формировании протоколов в Word (чтобы русские буквы не вставлялись в документ абракадаброй). Этот VI я почерпнула на форуме, предназначение свое он выполняет, но создает проблему в exe. Выкладываю исходник, может быть что-то посоветуете.
Заранее спасибо!
Спасибо за подсказку. В результате проведенных мероприятий выявила, что ошибка возникает при использовании VI, который переключает раскладку клавиатуры, необходимую при формировании протоколов в Word (чтобы русские буквы не вставлялись в документ абракадаброй). Этот VI я почерпнула на форуме, предназначение свое он выполняет, но создает проблему в exe. Выкладываю исходник, может быть что-то посоветуете.
Заранее спасибо!
-
Vitekkz88
- expert
- Сообщения: 1100
- Зарегистрирован: 21 янв 2014, 15:45
- Награды: 3
- Версия LabVIEW: 12,13,14
- Откуда: Томск
- Контактная информация:
Re: Ошибка при закрытии приложения
А эта ошибка возникает и на вашем компьютере(на котором ПО писали, запуск .exe приложения)? Или только на сторонних машинах? Попробуйте использовать .dll той машины, на которую устанавливаете. Других вариантов нет. Скомпилированный пример этой программы работает на Win7 x64 LV 2014 и сессия закрывается без ошибок...по крайней мере у меня.Elen писала(а):В результате проведенных мероприятий выявила, что ошибка возникает при использовании VI, который переключает раскладку клавиатуры
ХР нету (
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
-А. И. Солженицын
-
dadreamer
- professor
- Сообщения: 3926
- Зарегистрирован: 17 фев 2013, 16:33
- Награды: 4
- Версия LabVIEW: 2.5 — 2022
- Благодарил (а): 11 раз
- Поблагодарили: 127 раз
- Контактная информация:
Re: Ошибка при закрытии приложения
Elen, если используются стандартые системные библиотеки (kernel32, user32 и т.д.), то в CLFN нужно указывать не путь к ним, а только имя! Это обеспечит совместимость с любой версией ОС, где будет использоваться программа. Также у вас ошибка в параметре Flags: это не Unsigned Pointer-Sized Integer, а Unsigned 32-bit Integer.
-
- VIP
- Сообщения: 1338
- Зарегистрирован: 03 фев 2010, 00:42
- Награды: 6
- Версия LabVIEW: 6.1 - 2024
- Откуда: Германия
- Благодарил (а): 1 раз
- Поблагодарили: 44 раза
- Контактная информация:
Re: Ошибка при закрытии приложения
Я так сильно подозреваю, что вы указали абсолютный путь до user32.dll (ну типа c:\windows\system32\user32.dll), это привело к копии user32.dll в папку data, отсюда и падение приложения.
Сделайте следующее - в вызовах dll уберите путь c:\windows\system32\, оставьте только user32.dll, затем в папке куда собирается приложение уберите user32.dll - его там быть не должно. После этого должно перестать падать (если вы в параметрах dll нигде не ошиблись).
Сделайте следующее - в вызовах dll уберите путь c:\windows\system32\, оставьте только user32.dll, затем в папке куда собирается приложение уберите user32.dll - его там быть не должно. После этого должно перестать падать (если вы в параметрах dll нигде не ошиблись).
-
- beginner
- Сообщения: 46
- Зарегистрирован: 15 окт 2014, 07:27
- Версия LabVIEW: 2013
- Контактная информация:
Re: Ошибка при закрытии приложения
Большое спасибо за помощь!
В вызовах dll убрала путь c:\windows\system32\ и удалила папку data, изменила тип параметра Flags - и все получилось - exe перестал выдавать ошибку!
Кстати, ошибка выдавалась и на win7 и на XP (информация для Vitekkz88).
Еще раз всем спасибо!!!
В вызовах dll убрала путь c:\windows\system32\ и удалила папку data, изменила тип параметра Flags - и все получилось - exe перестал выдавать ошибку!
Кстати, ошибка выдавалась и на win7 и на XP (информация для Vitekkz88).
Еще раз всем спасибо!!!
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 675 Просмотры
-
Последнее сообщение Sergey Puzanov
-
- 6 Ответы
- 907 Просмотры
-
Последнее сообщение AndreyDmitriev
-
- 5 Ответы
- 1576 Просмотры
-
Последнее сообщение Artem.spb
-
- 23 Ответы
- 4628 Просмотры
-
Последнее сообщение maxim_MA
-
- 6 Ответы
- 1645 Просмотры
-
Последнее сообщение ladik