OberonCore
https://forum.oberoncore.ru/

Interp: зачем в консольной затычке HostWindows трапы?
https://forum.oberoncore.ru/viewtopic.php?f=134&t=6453
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Среда, 16 Октябрь, 2019 14:35 ]
Заголовок сообщения:  Interp: зачем в консольной затычке HostWindows трапы?

По ошибке записал DevCompiler.Compile вместо CompileThis в скрипте. Результат:
Код:
compiling
 
****
* BlackBox
* trap #126
- HostWindows.Directory.Focus  (pc=0000012F, fp=FF8715BC)
- Windows.Forwarder.Forward  (pc=00001875, fp=FF8715D0)
- Controllers.ForwardVia  (pc=0000022E, fp=FF8715F4)
- Controllers.Forward  (pc=00000301, fp=FF871610)
- Controllers.FocusFrame  (pc=000005C7, fp=FF87162C)
- Controllers.FocusView  (pc=000005DD, fp=FF871640)
- TextViews.Focus  (pc=000001F1, fp=FF871654)
- TextViews.FocusText  (pc=0000023E, fp=FF871668)
- DevCompiler.Compile  (pc=000004A2, fp=FF871680)
- Kernel.Call  (pc=00002329, fp=FF8716AC)
- Meta.Item.ParamCallVal  (pc=00002A97, fp=FF871B0C)
- StdInterpreter.CallProc  (pc=00000475, fp=FF871B74)
****
Трап 126 означает "еще не реализовано". Планируется поддержать работу с окнами в консоли?

Мы используем затычку, которая работает по логике "в консоли окон не бывает". В частности, для фокуса она всегда NIL выдает. DevCompiler.Compile в консоли выдаст #Dev:NoTextViewFound вместо трапа.

Автор:  Иван Денисов [ Среда, 16 Октябрь, 2019 19:02 ]
Заголовок сообщения:  Re: Interp: зачем в консольной затычке HostWindows трапы?

Трап ведь и нужен для обнаружения и дифференцирования ошибки? Очень наглядный пример :) Была сделана ошибка в скрипте, и она сразу себя проявила.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/