Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как дебагить процесс инициализации? [D7, Win2k]


Юрий_К ©   (2007-03-02 15:24:00) 

Выдаётся при запуске приложения "The application failed to initialize properly (oxc0000142).". Если останов поставить на "Application.Initialize;", то сообщении об ошибке выдаётся раньше него. Что возможно в этом случае сделать для отлова исключительной ситуации, кто знает?

begin
 Application.Initialize; // ошибка происходит раньше этого оператора
 Application.CreateForm(TMainForm, MainForm);
 Application.Run;
end.


Юрий_К   (2007-03-03 11:22:00) [1]

"Твоей программе тоже не дают доступа к OpenGL?"

Да. Убрал у сервиса запуск автоматом, чтобы не захватывал OpenGL.


DrPass   (2007-03-02 21:36:00) [2]

Твоей программе тоже не дают доступа к OpenGL?


Юрий_К   (2007-03-02 19:17:00) [3]

Кажись что-то нашёл по теме:
http://www.adeptscience.co.uk/kb/article/49A6
"
When trying to start Maple in Windows 2000, the following error occurs: The application failed to initialize properly (0xc0000142)
...
This error occurs when a Windows 2000 program (often running as a service) restricts access to OpenGL. (For example, the MATLAB 6 Web Server runs this way by default). To start Maple or other OpenGL programs in this case, you must stop the program that has exclusive control over OpenGL. If this program is running as a service, change the Startup Type of the service to Manual and then reboot.
"


Юрий_К   (2007-03-02 19:07:00) [4]

Ошибка раньше. Что-то не так с ОС по-моему. Но как выяснять? Последним ставил Матлаб, возможно что-то после этого изменилось. До того запускалось же приложение. А если снос матлаба не поможет? В других же проектах нормально exe запускается, этот что-то вдруг перестал. В нем используется OpenGL. И только что выяснил, что все exe, заточенные под OpenGL перестали запускаться. Вот где нужно копать, но как?


Kedge   (2007-03-02 17:51:00) [5]

Попробуй в первом твоем юните из перечисленных в dpr
поставить
initialization
Beep;
finalization
Beep;
и F7


Юрий_К   (2007-03-02 17:29:00) [6]

По F7 сначала исключение идёт, потом попадаем на "begin". "initialization" ещё не проходится. Если у кого получится попасть в сегмент "initialization" до "begin" в "dpr" файле, сообщите.


Сергей М.   (2007-03-02 17:24:00) [7]


> Код там исполняется между "begin" и"Application.Initialize;
> "


Вот и смотри внимательно, что у тебя творится в коде разделов initialization юнитов в составе таоего проекта.

Если ты поймал брейкпойнт на строчке beginпроекта и сделав после этого шаг (F7) не встал на строчке Application.Initialize(на этом шаге у тебя как раз и возникло упомянутое исключение), то "адназначна" исключение возбуждено в ходе выполнения раздела initialization какого-то из юнитов, подключенных в проект непосредственно или тех что упомянуты где-от в uses в каких-то юнитов в составе проекта.


Юрий_К   (2007-03-02 16:09:00) [8]

"Сергей М. ©   (02.03.07 16:02) [6]
Код в этих разделах исполняется ДО того как управление будет передано оператору begin проекта приложения/библ-ки"

Код там исполняется между "begin" и"Application.Initialize;", а ошибка происходит ещё раньше. Проверить вроде легко это.


Сергей М.   (2007-03-02 16:02:00) [9]

Код в этих разделах исполняется ДО того как управление будет передано оператору begin проекта приложения/библ-ки


Сергей М.   (2007-03-02 16:00:00) [10]


> Юрий_К   (02.03.07 15:54) [3]


То про раздел initialization в юнитах что-нть вообще слышал ?


Юрий_К   (2007-03-02 15:58:00) [11]

"Сергей М. ©   (02.03.07 15:29) [1]
 Я знаю."

И поделишься этим знанием?


Юрий_К   (2007-03-02 15:54:00) [12]

"Плохиш ©   (02.03.07 15:29) [2]
Запускай программу кнопкой не F9, a F7."

То же самое, ошибка до первого останова на "begin" перед "Application.Initialize;".


Сергей М.   (2007-03-02 15:29:00) [13]


> Что возможно в этом случае сделать для отлова исключительной
> ситуации, кто знает?


Я знаю.


Плохиш   (2007-03-02 15:29:00) [14]

Запускай программу кнопкой не F9, a F7.


Наверх

Титульная страница Поиск, карта сайта Написать письмо