|
5 / 5 / 4
Регистрация: 01.06.2014
Сообщений: 55
|
||||||
Ошибка при запуске приложения из приложения WinAPI06.06.2014, 17:37. Показов 5415. Ответов 40
Метки нет (Все метки)
Здравствуйте.
Есть следующий код, найденный на просторах интернета.
Кто-нибудь может объяснить почему так и как это исправить?
0
|
||||||
| 06.06.2014, 17:37 | |
|
Ответы с готовыми решениями:
40
Ошибка при запуске Release-сборки приложения Ошибка при запуске приложения 0x0000007b Вывод сообщения на экран при запуске оконного приложения |
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|||
| 06.06.2014, 20:57 | |||
![]() нормальный специалист, который очень хорошо знает внутренности винды По крайней мере, лучше, чем я ![]() Добавлено через 1 минуту ![]() нет монополии на истину главное не упорствовать в своих заблуждениях
0
|
|||
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
| 06.06.2014, 21:22 | |
|
0
|
|
|
567 / 198 / 70
Регистрация: 25.05.2012
Сообщений: 816
|
|
| 06.06.2014, 21:35 | |
|
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 06.06.2014, 21:54 | |
|
villu,
теперь нас другой вопрос интересует почему у консоли 0 а у графики 6??? и какую такую хандлю она ломает?
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 06.06.2014, 21:57 | |
|
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 06.06.2014, 22:26 | ||
|
а на будущее? Если прога рухнет( или не рухнет), как узнать где копать?
0
|
||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 06.06.2014, 22:36 | ||
|
например я в своей проге запускаю какой нибудь Фотошоп и он рухает, мне его дебажить? дело то не в фотошопе а в моей проге, то ли памяти недодал, то ли окружение кривое, то ли еще что нибудь, вот и пытаюсь понять принципиальна эта ошибка или нет
0
|
||
| 06.06.2014, 22:57 | ||||||
|
"Рухнувший" фотошоп выходит за рамки этой проблемы. И GetLastError тебе тут точно не поможет.
GetLastError Ставится в контексте твоего потока и используется тогда, когда нужно. в твоем случае он либо не запустится совсем, либо упадет, но уже без тебя. GetLastError( ) показывает переменную твоего потока, которую кто-то там где-то раньше установил. и Если тебе нужно знать кто, то нужно проверять результаты ВСЕХ функций, которые ты пользуешь (и которые это подразумевают). Иначе никак. ................
0
|
||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 06.06.2014, 23:09 | ||
|
значит ошибка появилась в программе "обертке"? или она пришла из запускаемой программы?
0
|
||
| 06.06.2014, 23:15 | |
|
ее установила какая-то _твоя_ функция. то есть в твоём процессе. От процесса, который ты запустил, ты можешь получить код завершения, например. Но это не тоже самое, что LastError
Например в коде у ТС SetLastError могли сделать CreateProcess, WaitForSingleObject и CloseHandle. Но так как автор не проверил их результат, сказать кто сложно.
0
|
|
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
|
| 06.06.2014, 23:18 | |
|
0
|
|
|
5 / 5 / 4
Регистрация: 01.06.2014
Сообщений: 55
|
||
| 06.06.2014, 23:51 [ТС] | ||
|
WaitForSingleObject возвратила WAIT_OBJECT_0 - тоже успех CloseHandle возвратила 1. Ну вот и отличненько ![]() Ещё раз спасибо всем выше отписавшимся. Не думал, что тут так быстро отвечают
0
|
||
|
Ушел с форума
|
|||||||||||||||||
| 07.06.2014, 09:53 | |||||||||||||||||
Сообщение было отмечено ValeryS как решение
Решение
Подытоживая все написанное выше...
завершилась с ошибкой. В других случаях, - если только это явно не отмечено в документации, как, например, с AdjustTokenPrivileges, - состояние last error не определено. Там может храниться что угодно, к примеру код какой-нибудь прошлой ошибки, никак не связанный с текущим состоянием. Другими словами, Win32-функции при успешном завершении не устанавливают last error в 0. И если уже проверять GetLastError, то делать это нужно сразу же после того, как Win32-функция вернула ошибку. Часто приходится видеть код примерно такого плана:
функции, какие там могу быть значения, устанавливается ли она в 0 в случае успешного завершения и т.д. - ответы на все эти вопросы следует искать в официальной документации, то есть, в MSDN, на странице с описанием функции. И если там не сказано, что last error принимает такое-то значение, значит, рассчитывать на это нельзя. Во-первых, в описании CreateProcess четко сказано:
потока, который его запустил. Собственно, вот: Ошибка при запуске приложения из приложения WinAPI Правильный и исчерпывающий ответ на вопрос уже дан. Запуск нового процесса - это "портянка" кода страниц так на пятьдесят. Неудивительно, что состояние переменных потока, таких как last error, может быть самым причудливым. "Правильные" процессы возвращают 0 в случае успешного завершения. Last error здесь не помощник.
3
|
|||||||||||||||||
|
Модератор
8982 / 6749 / 921
Регистрация: 14.02.2011
Сообщений: 23,876
|
||
| 07.06.2014, 10:23 | ||
|
Убежденный,
Огромное спасибо!!! Вот ведь как бывает все по отдельности вроде известно, а вместе связать не получается ![]() но вот это как то мимо меня прошло Добавлено через 1 минуту Не по теме: Убежденный, отзыв почему то не могу оставить :cry:
0
|
||
| 07.06.2014, 10:23 | |
|
Ошибка линковщика при создании приложения Win32
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности.
Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
|
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version
Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
|
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер
На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
|
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/
TL DR
Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
|
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|