Гость
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Что запускается после выполнения Application.Run? / 23 сообщений из 23, страница 1 из 1
22.08.2021, 13:42
    #40092500
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Доброго дня!
У меня огромный проект, начинал писать еще не я, я его только дорабатываю. Компилирован на Delphi 7. Стоит под виртуальной машиной на WinXP, до недавних времен (по январь 2021) работал прекрасно, затем начал выдавать ошибку 217 при старте программы. Раньше ставили на компьютеры W7, но с некоторых пор (после того как микромягкие прекратили поддержку, дрова идут только под W10). Проблема еще и в том, что у нас используются промышленные одноплатные компьютеры (Vortex, Capa), и альтернативы дров нет вообще никакой. После некоторого шаманства с W10, как правило, удается добиться, что программа начинает запускаться: ставлю на W10, дельфи и компоненты которые используются в проекте, после этого начинает работать, даже если посносить Delphi с компонентами %(
Решил все же разобраться, прогнать запуск программы под дебагером. Перенес исходники запускаю программу на выполнение, прорисовывается окно программы и ...... windows уходит в шутдаун %(
Проверяю построчно, создается порядка 30 окон или объектов (остальные создаются динамически, их там больше сотни), доходит до Application.Run, и после ее запуска - ложится. Если зайти дебагером в сам Run, там в непрерывном цикле крутится HandleMessage, и пока я дебажу по F8 устойчива, нажимаю F9 - шутдаун.
Может кто знает, где поставить точку останова, чтобы отследить на чем все-таки валится программа.

P.S. Если запускаю тот же проект, но скомпилированный под WinXP - все работает.
...
Рейтинг: 0 / 0
22.08.2021, 13:45
    #40092501
энди
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Ну возьми что-то более специализированное, типа той же EurekaLog
...
Рейтинг: 0 / 0
22.08.2021, 14:56
    #40092507
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Спасибо за подсказку, только я с этим мастодонтом ни разу не работал. Куда она хоть логи-то пишет?
Установил, в прект-менежер. Появился пункт EuricaLog Option, захожу - устанавливаю путь для лог-файлов. Галочка Activate EuricaLog установлена. Жму Ok, Проект запускается, система падает. Загружаюсь. Ни лога, ни пол-лога. А в инете, как назло много информации как отлавливать супер ошибки, а про то как просто настроить эту Euricу - ни слова %(
...
Рейтинг: 0 / 0
22.08.2021, 16:21
    #40092514
swame2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOleg,

Почитай здесь
https://habr.com/ru/post/209902/

НУ и когда найдешь место где падает возможные причины, когда работа зависит от окружения. Видимо качество проекта запущено.
В таких случаях
1. Нужно делать код независимым от порядка инициализации модулей, - принудительно вызывать инициализацию которые должны загружаться раньше из тех, что загружаются позже.
2. Проверять работу с вкюченным Range Check.
3. Проверять c включенной и отключенной оптимизацией. С включенной - проверять что все переменные правильно инициализируются.
4. Проверять c подключенным FastMM и включенной опцией Chech Heap For Corruption - хорошо ищет плавающие ошибки работы с памятью.
...
Рейтинг: 0 / 0
22.08.2021, 16:28
    #40092515
GunSmoker
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
...
Рейтинг: 0 / 0
22.08.2021, 16:38
    #40092516
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOleg
А в инете, как назло много информации как отлавливать супер ошибки, а про то как просто настроить эту Euricу - ни слова %(

Я не скажу, что документация по Эврике хороша, но вынужден признать, что до сих пор на любой возникавший у меня вопрос - находил в ней ответ без каких-то выдающихся усилий по поиску.
...
Рейтинг: 0 / 0
22.08.2021, 16:49
    #40092518
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOleg,

Была похожая ситуация (217 ошибка) при закрытии приложения, причем проявлялась нестабильно. Дело было в секциях инициализации/финализации модулей. Решили, создав отдельные процедуры по инициализации/финализации и прописали их вызов в "ручном режиме" в строго определенном порядке...
...
Рейтинг: 0 / 0
23.08.2021, 09:06
    #40092587
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
swame2, спасибо, раньше читал эту статью, сейчас прочитал более вдумчиво. Почему-то раньше думал, что она относится к финализации, сейчас понял что не так все просто. :)
...
Рейтинг: 0 / 0
23.08.2021, 09:08
    #40092588
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
GunSmoker, если бы программа, Windows 10 уходит в шутдаун :(
...
Рейтинг: 0 / 0
23.08.2021, 09:36
    #40092592
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
softwarer, беда в том, что я с EurikaLog вообще никаких дел не имел... Сейчас нашел доку на англицком, так что вооружившись словарем грызу гранит науки. Как оказалась, там еще компоненту нужно ставить...
...
Рейтинг: 0 / 0
23.08.2021, 09:47
    #40092594
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
DarkMaster, вот и у меня появляется не стабильно, точнее после установки Windows - стабильно выскакивает 217 ошибка, а после длительной мастербации этой самой Windows (в моем случае, эта установка Delphi, затем всех компонент и компиляция проекта) - стабильно НЕ выскакивает 217 ошибка, зато проект откомпилированный в данной среде стабильно валит систему на "Завершение работы". При этом тот не проект откомпилированный на WinXP - работает вполне себе успешно.
И есть у меня подозрения что здесь не инициализация/финализация виноваты, а что-то иное. Сегодня нашел, что некогда на системе использовался ключ аппаратной защиты, потом его убрали, но модули до сих пор в проекте остались. Раньше о них не слуху не духу не было, а сейчас на стареньком файле (еще 2016 года компиляции, он самый стабильный) вдруг вылезает ссылка на этот ключ и программа закрывается.
В общем карусель еще та...
...
Рейтинг: 0 / 0
23.08.2021, 10:13
    #40092602
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOleg
и ...... windows уходит в шутдаун %(

В обычный шутдаун (как при нажатии на "выключить компьютер") или BSOD?
Что написано в EventLog?
P.S. Если запускаю тот же проект, но скомпилированный под WinXP - все работает.
Это странно - вероятно, у Вас стоят разные версии каких-то компонентов на разных машинах и/или сама D7 может быть разной.

Для работы программа использует взаимодействие с каким-то нестандартным оборудованием или драйверами?

Используются пакеты?

Попробуйте в .dpr uses первым (или вторым) поставить SysUtils
...
Рейтинг: 0 / 0
23.08.2021, 12:34
    #40092648
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
В обычный шутдаун (как при нажатии на "выключить компьютер") или BSOD?
Что написано в EventLog?
Как при нажатии на "выключить компьютер", причем без всяких предупреждений.
В EventLog 3 раза повторяется сообщение:

Не удается найти описание для идентификатора события 1060 из источника Application Popup. Вызывающий данное событие компонент не установлен на этом локальном компьютере или поврежден. Установите или восстановите компонент на локальном компьютере.
Если событие возникло на другом компьютере, возможно, потребуется сохранить отображаемые сведения вместе с событием.
К событию были добавлены следующие сведения:
\SystemRoot\SysWow64\Drivers\hwinterface.sys
Ресурс сообщения существует, но сообщение не найдено в таблице сообщений


А затем еще одно, о остановке журнала событий

P.S. Если запускаю тот же проект, но скомпилированный под WinXP - все работает.
Это странно - вероятно, у Вас стоят разные версии каких-то компонентов на разных машинах и/или сама D7 может быть разной.
Сама Delphi ставилась из того же источника, из компонентов разница в версиях только в JCL/JVCL, но это весьма маловероятно, так как JVCL-ных компонент там штук с 20, да и то все используются в динамических формах, а до них дело не доходит.
Для работы программа использует взаимодействие с каким-то нестандартным оборудованием или драйверами?
Некогда на системе использовался ключ аппаратной защиты, потом его убрали, но модули до сих пор в проекте остались. Раньше о них не слуху не духу не было, а сейчас на стареньком файле (еще 2016 года компиляции, он самый стабильный) вдруг вылезает ссылка на этот ключ и программа закрывается.
Используются пакеты?
Что Вы имеете в виду?
Попробуйте в .dpr uses первым (или вторым) поставить SysUtils
Давно уже поставил, от 217 ошибки не спасает :(
...
Рейтинг: 0 / 0
23.08.2021, 12:51
    #40092652
DimaBr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
авторПроверяю построчно, создается порядка 30 окон или объектов (остальные создаются динамически, их там больше сотни), доходит до Application.Run, и после ее запуска - ложится
Отключите авто создание ТРИДЦАТИ форм.

авторНекогда на системе использовался ключ аппаратной защиты, потом его убрали, но модули до сих пор в проекте остались
Что мешает удалить их из проекта ?
...
Рейтинг: 0 / 0
23.08.2021, 14:22
    #40092684
x1ca4064
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOleg


Сама Delphi ставилась из того же источника, из компонентов разница в версиях только в JCL/JVCL, но это весьма маловероятно, так как JVCL-ных компонент там штук с 20, да и то все используются в динамических формах, а до них дело не доходит.

Я бы попробовал на каждой из машин (WinXP/Win10), на которых собирается программа, создать отдельный каталог для dcu, установил соотвествующий путь в настройках проекта и сделал билд, после этого сравнивал dcu файлы в этих каталогах - так можно найти модули, которые отличаются.

Используются пакеты?
Что Вы имеете в виду?


Галка Build with runtime packages установлена?
...
Рейтинг: 0 / 0
23.08.2021, 15:16
    #40092699
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Отключите авто создание ТРИДЦАТИ форм.
Окон там всего 5, остальное просто классы. При этом, я писал выше, автосоздание проходит успешно, что-то происходит после запуска Application.Run. Т.е. на этот момент все классы из статически создаваемых уже прошли конструктор Create, при этом система не рушиться. А вот дальше, возможно при создании какого-то динамического окна и происходит крах Windows.
Что мешает удалить их из проекта ?
Да ничего не мешает, просто про его существование я узнал только вчера вечером. До этого он сидел где-то на задворках и ни во что не вмешивался.
...
Рейтинг: 0 / 0
23.08.2021, 15:25
    #40092705
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Я бы попробовал на каждой из машин (WinXP/Win10), на которых собирается программа, создать отдельный каталог для dcu, установил соотвествующий путь в настройках проекта и сделал билд, после этого сравнивал dcu файлы в этих каталогах - так можно найти модули, которые отличаются.
В общем, идея хорошая, только сейчас уже не успею, завтра изделие уезжает на место постоянной прописки, буду уже на следующем эксперементировать.
Галка Build with runtime packages установлена?
Нет, галочка не стоит.
...
Рейтинг: 0 / 0
23.08.2021, 15:30
    #40092708
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOlegКак при нажатии на "выключить компьютер", причем без всяких предупреждений.

Это практически невозможно. Под обычным пользователем приложение запустить пытались?

BorodaOlegВ EventLog 3 раза повторяется сообщение:

А в разделе System?

https://social.technet.microsoft.com/wiki/contents/articles/3564.event-id-1060-application-popup.aspx

hwinterface.sys у вас явно не той системы. Грохните его:
https://www.eightforums.com/threads/every-startup-eventlog-event-1060-application-popup.67126/
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.08.2021, 15:59
    #40092719
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Dimitry Sibiryakov

BorodaOlegКак при нажатии на "выключить компьютер", причем без всяких предупреждений.

Это практически невозможно. Под обычным пользователем приложение запустить пытались?
Под самым обычным пользователем :)
Могу на фотик видос снять, если не верите.
Dimitry Sibiryakov
BorodaOlegВ EventLog 3 раза повторяется сообщение:

А в разделе System?

https://social.technet.microsoft.com/wiki/contents/articles/3564.event-id-1060-application-popup.aspx

hwinterface.sys у вас явно не той системы. Грохните его:
https://www.eightforums.com/threads/every-startup-eventlog-event-1060-application-popup.67126/

Это как раз в разделе System.
hwinterface.sys - грохнул. После перезапуска ошибок вообще никаких нет. Запустил свой софт - Windows грохнула. Сейчас гляну что в логе после рестарта.
Оригинально. После 2-го ресета файл hwinterface.sys добросовестно восстановился сам по себе и теперь выдает ошибку...
...
Рейтинг: 0 / 0
23.08.2021, 16:07
    #40092721
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
BorodaOlegОригинально. После 2-го ресета файл hwinterface.sys добросовестно восстановился
сам по себе и теперь выдает ошибку...

Это насколько же надо не знать ОС под которую пишете... Драйвера и прочие
системные файлы самовосстанавливаются из бэкапа при простом удалении. Надо их
сносить штатными процедурами (или и из бэкапа тоже).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.08.2021, 16:38
    #40092732
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Dimitry Sibiryakov,

Тут понимаете какая ситуация:

Восстановление системы - отключено.
Использование дискового пространства - 0 байт

Может я действительно плохо знаю Win 10 (ну не люблю я ее), но вот чтобы файлы восстанавливались при отключённом восстановлении системы - это для меня нонсенс....

И если честно, как что-то снести из бэкапа, если он не пишется - я даже не в курсе %(
...
Рейтинг: 0 / 0
23.08.2021, 17:00
    #40092738
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Как я уже сказал: сначала надо сносить корень бед, названный по моим ссылкам:
приблуду от Logix4u. Если это не удалось, то драйверу можно запретить
загружаться в реестре. А если действительно решили снести его физически, то
можно и погуглить с чем работает утилита sfc.
https://docs.microsoft.com/en-us/windows/win32/wfp/windows-resource-protection-portal?redirectedfrom=MSDN
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
23.08.2021, 17:19
    #40092741
BorodaOleg
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Что запускается после выполнения Application.Run?
Dimitry Sibiryakov,
Спасибо, буду экспериментировать.
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Что запускается после выполнения Application.Run? / 23 сообщений из 23, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]