OberonCore https://forum.oberoncore.ru/ |
|
Как описать обработчик сообщений? https://forum.oberoncore.ru/viewtopic.php?f=24&t=2155 |
Страница 1 из 1 |
Автор: | Виталий [ Пятница, 04 Декабрь, 2009 12:59 ] |
Заголовок сообщения: | Как описать обработчик сообщений? |
Всем доброго. Хочу знать как можно обрабатывать сообщения (события) тех или иных "элементов" Для начала хочу попробовать обрабатывать сообщения HandleViewMsg. Почитав пример написал по аналогии такое: Код: MODULE wnd; IMPORT Views,Ports, Fonts, Stores, Files, Models, Controllers, Tw:=Windows,Tm:=TextModels,Tv:=TextViews, l:=StdLog; TYPE View= POINTER TO RECORD(Views.View) END; VAR w:Tw.Window; m:Tm.Model; v:Tv.View; PROCEDURE (ww:View) HandleViewMsg (f: Views.Frame; VAR msg: Views.Message); BEGIN l.String("Закрыто"); END HandleViewMsg; PROCEDURE do*; BEGIN m:=Tm.dir.New(); v:=Tv.dir.New(m); Views.OpenView(v); END do; END wnd. На строке View= POINTER TO RECORD(Views.View) вылезает ошибка: unimplement abstract procedure in base types Что я делаю неправильно? |
Автор: | Valery Solovey [ Пятница, 04 Декабрь, 2009 13:13 ] |
Заголовок сообщения: | Re: Как описать обработчик сообщений? |
Вы расширили абстрактный тип, но не реализовали его абстрактные методы. Добавьте для компиляции это: Код: PROCEDURE (v : View) Restore (f: Views.Frame; l, t, r, b: INTEGER), EMPTY; Работать в общем случае не будет, но зато скомпилируется. Для правильной работы нужно удалить EMPTY, вставить блок BEGIN END и правильно его заполнить.
|
Автор: | Виталий [ Пятница, 04 Декабрь, 2009 13:44 ] |
Заголовок сообщения: | Re: Как описать обработчик сообщений? |
Хм... Странно как то. Ладно спасибо, приму во внимание. |
Автор: | Илья Ермаков [ Пятница, 04 Декабрь, 2009 13:49 ] |
Заголовок сообщения: | Re: Как описать обработчик сообщений? |
А чего тут странного? Вы пишете графический объект, он обязательно должен иметь метод рисования. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |