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/