| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Не запускается программа |
| Автор: XperT 18.11.2013, 11:29 |
| Здравствуйте, такая проблема: у пользователя после обновления не запускается программа (предыдущая версия работает нормально), причем без каких либо ошибок, просто никакой реакции, даже в диспетчере задач не появляется. Пробовал на место первой команды после begin добавить MessageBox - не отображается, такое чувство, что запуск вообще игнорируется, только на пол секунды курсор меняет свой значок. Не знаю что делать, изменения в коде абсолютно ничего не дают. В обновлении каких-то кардинальных изменений не было. Антивирус и фаервол отключать пробовали - не помогло. Пробовал даже удалять dll которые нужны программе, чтобы хотя бы увидеть хоть какую-то реакцию - ничего. В общем у меня шок и паника, подскажите что это может быть или как можно узнать причину? |
| Автор: kami 18.11.2013, 12:49 |
| Компьютер (правой кнопкой) -> Управление -> Просмотр событий -> Журналы Windows -> Приложение там ничего касающегося? |
| Автор: Akella 18.11.2013, 13:32 |
| да причин может быть масса, тебе никто ничего не подскажет разве что телепаты Добавлено через 18 секунд С чего ты взял, что все мы знаем и видим твой код? |
| Автор: Illusion Dolphin 18.11.2013, 14:17 | ||
Akella, Тут вопрос не нахождении ошибки а в способе её нахождения
А код после первого begin выполняется очень поздно. Первый исполняемый код (не считая System) начинается в секции initialization для первого юнита в проекте (dpr) у которого НЕТ ДРУГИХ using'ов. Если есть юзинги, то тогда сначала выполнится initialization у них. Это я к чему? Сделайте модуль который ничего не использует, импортируйте в нём MessageBox из dll напрямую без юзингов и в initialization попробуйте вызвать MessageBox. Если вызовется - пеермещайте юнит ниже по списку, возможно падает где-то initialization - в этом случае винда может просто тихо проглотить ошибку и записать в логи, как сказал kami |
| Автор: XperT 18.11.2013, 16:34 |
| Спасибо всем отписавшимся, теперь хоть буду знать, что делать в подобной ситуации. В данном случае на причину указал другой пользователь, у которого программа выдала ошибку, о нехватке метода InitializeCriticalSectionEx в kernel32.dll (этот метод появился только в Windows 7, соответственно все пользователи ХР в пролете). Подставила меня VS 2012 с помощью которой я писал используемые программой библиотеки. При использовании некоторых стандартных библиотек, она в зависимости включает этот метод. Лечится обновлением студии до Update 4. |