Ошибка при закрытии приложения

Простейшие вопросы в области инженерной разработки
Ответить
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Ошибка при закрытии приложения

Сообщение Elen »

Здравствуйте, профессионалы!

Прошу помощи. У меня есть проект с использованием cRio. Создано 2 exe-файла: stert-RT.exe в контроллере и start-Host.exe на компе. Так вот при закрытии приложения на компе возникает ошибка (рис.1)
рис.1.jpg
Отчет об ошибке:
23a3f14b-608b-4f91-9121-94753c68d568.zip
(29.71 КБ) 82 скачивания
Пробовала выполнять отладку exe, но она ничего не дала, потому что по нажатию на кнопку "Выход" просто останавливается основной цикл While. Правда отладчик выдает еще такое окно (рис.2)
рис.2.JPG
Файл главного окна:
СПП-MAIN.vi
(594.34 КБ) 81 скачивание
Надеюсь на помощь!
Artem.spb

Activity Автор
professor
professor
Сообщения: 3407
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 176 раз
Контактная информация:

Re: Ошибка при закрытии приложения

Сообщение Artem.spb »

Сложно что-то сказать без subVI.
так что общие советы:
- убрать кириллицу из названий vi, exe.
- перекомпилировать программу (Ctrl-Shift-Run button), после чего снова сбилдить exe
- закомментировать участок, отвечающий за создание отчётов, судя по ошибкам, проблема в нём.
если не поможет, закомментировать всё. Постепенно включая куски обратно найти источник проблемы.
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: Ошибка при закрытии приложения

Сообщение Elen »

Здравствуйте, Artem.spb

Спасибо за подсказку. В результате проведенных мероприятий выявила, что ошибка возникает при использовании VI, который переключает раскладку клавиатуры, необходимую при формировании протоколов в Word (чтобы русские буквы не вставлялись в документ абракадаброй). Этот VI я почерпнула на форуме, предназначение свое он выполняет, но создает проблему в exe. Выкладываю исходник, может быть что-то посоветуете.
pSetLanguage.vi
(14.91 КБ) 85 скачиваний
Заранее спасибо!
Аватара пользователя
Vitekkz88

Activity Silver Автор
expert
expert
Сообщения: 1100
Зарегистрирован: 21 янв 2014, 15:45
Награды: 3
Версия LabVIEW: 12,13,14
Откуда: Томск
Контактная информация:

Re: Ошибка при закрытии приложения

Сообщение Vitekkz88 »

Elen писала(а):В результате проведенных мероприятий выявила, что ошибка возникает при использовании VI, который переключает раскладку клавиатуры
А эта ошибка возникает и на вашем компьютере(на котором ПО писали, запуск .exe приложения)? Или только на сторонних машинах? Попробуйте использовать .dll той машины, на которую устанавливаете. Других вариантов нет. Скомпилированный пример этой программы работает на Win7 x64 LV 2014 и сессия закрывается без ошибок...по крайней мере у меня.
ХР нету (
Инженер - это открыто светящийся интеллект, свободный и не обидный юмор, это легкость и широта мысли...Это воспитанность, тонкость вкусов, хорошая речь, плавно согласованная и без сорных словечек...
-А. И. Солженицын
Аватара пользователя
dadreamer

Activity Professionalism Автор
professor
professor
Сообщения: 3926
Зарегистрирован: 17 фев 2013, 16:33
Награды: 4
Версия LabVIEW: 2.5 — 2022
Благодарил (а): 11 раз
Поблагодарили: 127 раз
Контактная информация:

Re: Ошибка при закрытии приложения

Сообщение dadreamer »

Elen, если используются стандартые системные библиотеки (kernel32, user32 и т.д.), то в CLFN нужно указывать не путь к ним, а только имя! Это обеспечит совместимость с любой версией ОС, где будет использоваться программа. Также у вас ошибка в параметре Flags: это не Unsigned Pointer-Sized Integer, а Unsigned 32-bit Integer.
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1338
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 44 раза
Контактная информация:

Re: Ошибка при закрытии приложения

Сообщение AndreyDmitriev »

Я так сильно подозреваю, что вы указали абсолютный путь до user32.dll (ну типа c:\windows\system32\user32.dll), это привело к копии user32.dll в папку data, отсюда и падение приложения.

Сделайте следующее - в вызовах dll уберите путь c:\windows\system32\, оставьте только user32.dll, затем в папке куда собирается приложение уберите user32.dll - его там быть не должно. После этого должно перестать падать (если вы в параметрах dll нигде не ошиблись).
Elen
beginner
beginner
Сообщения: 46
Зарегистрирован: 15 окт 2014, 07:27
Версия LabVIEW: 2013
Контактная информация:

Re: Ошибка при закрытии приложения

Сообщение Elen »

Большое спасибо за помощь!

В вызовах dll убрала путь c:\windows\system32\ и удалила папку data, изменила тип параметра Flags - и все получилось - exe перестал выдавать ошибку!

Кстати, ошибка выдавалась и на win7 и на XP (информация для Vitekkz88).

Еще раз всем спасибо!!! :1stplace: :bye:
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Для чайников»