OberonCore https://forum.oberoncore.ru/ |
|
Bug or not Bug? https://forum.oberoncore.ru/viewtopic.php?f=24&t=796 |
Страница 1 из 1 |
Автор: | hothing [ Среда, 26 Декабрь, 2007 15:04 ] |
Заголовок сообщения: | Bug or not Bug? |
Переделал стандартный ObxWrappers таким образом, чтобы он сбрасывал в лог названия сообщения приходящих виду. Как только добавил StdLog.Ln "обернутый" вид начал сбоить (TRAP). Код: PROCEDURE (v: View) HandleCtrlMsg (f: Views.Frame; VAR msg: Controllers.Message; VAR focus: Views.View); BEGIN (* here comes the behavior which is specific to this wrapper - it modifies the wrapped view's behavior *) WITH msg: Controllers.EditMsg DO StdLog.Msg('--> EditMsg');StdLog.Ln; |msg: Controllers.SelectMsg DO StdLog.Msg('--> Selection');StdLog.Ln; |msg: Controllers.TrackMsg DO StdLog.Msg('--> Track');StdLog.Ln; |msg: Controllers.TransferMessage DO StdLog.Msg('--> TransferMessage');StdLog.Ln; |msg: Controllers.PollDropMsg DO StdLog.Msg('--> PollDropMsg');StdLog.Ln; |msg: Controllers.DropMsg DO StdLog.Msg('--> DropMsg');StdLog.Ln; |msg: Controllers.WheelMsg DO StdLog.Msg('--> WheelMsg');StdLog.Ln; |msg: Controllers.PollSectionMsg DO StdLog.Msg('--> PollSectionMsg');StdLog.Ln; |msg: Controllers.PollFocusMsg DO StdLog.Msg('--> PollFocusMsg');StdLog.Ln; |msg: Controllers.PollOpsMsg DO StdLog.Msg('--> PollOpsMsg');StdLog.Ln; |msg: Controllers.ScrollMsg DO StdLog.Msg('--> ScrollMsg');StdLog.Ln; |msg: Controllers.PageMsg DO StdLog.Msg('--> PageMsg');StdLog.Ln; |msg: Controllers.TickMsg DO StdLog.Msg('--> TickMsg');StdLog.Ln; |msg: Controllers.MarkMsg DO StdLog.Msg('--> MarkMsg');StdLog.Ln; |msg: Controllers.RequestMessage DO StdLog.Msg('--> RequestMessage');StdLog.Ln; |msg: Controllers.ReplaceViewMsg DO StdLog.Msg('--> ReplaceViewMsg');StdLog.Ln; |msg: Controllers.CursorMessage DO StdLog.Msg('--> CursorMessage');StdLog.Ln; |msg: Controllers.PollCursorMsg DO StdLog.Msg('--> PollCursorMsg');StdLog.Ln; ELSE END; focus := v.inner (* forward all controller messages to wrapped view *) END HandleCtrlMsg; В чем может быть причина? |
Автор: | Илья Ермаков [ Среда, 26 Декабрь, 2007 17:18 ] |
Заголовок сообщения: | Re: Bug or not Bug? |
Кстати, Info->Message Spy...позволяет отслеживать сообщения. По поводу Ln - с ходу не скажу, а что за Trap? |
Автор: | Сергей Губанов [ Четверг, 27 Декабрь, 2007 11:39 ] |
Заголовок сообщения: | Re: Bug or not Bug? |
hothing писал(а): ...В чем может быть причина? Можно было написать покороче: Код: PROCEDURE (v: View) HandleCtrlMsg (f: Views.Frame; VAR msg: Views.CtrlMessage; VAR focus: Views.View); VAR name: ARRAY 100 OF CHAR; BEGIN Services.GetTypeName(msg, name); Log.String(name); Log.Ln END HandleCtrlMsg; Зато теперь, коль скоро вы расписали типы явно, то закомментировав лишнее вы можете отыскать сообщение при ловле которого происходит авария. |
Автор: | hothing [ Пятница, 28 Декабрь, 2007 18:01 ] |
Заголовок сообщения: | Re: Bug or not Bug? |
Сергей, спасибо. Буду польоваться. 2Илья. К сожалению, уже не помню, вроде 2х. Спасибо, попробую Спай. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |