OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 18 Апрель, 2024 09:45

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
СообщениеДобавлено: Пятница, 04 Декабрь, 2009 12:59 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Всем доброго.
Хочу знать как можно обрабатывать сообщения (события) тех или иных "элементов"
Для начала хочу попробовать обрабатывать сообщения 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

Что я делаю неправильно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 04 Декабрь, 2009 13:13 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Вы расширили абстрактный тип, но не реализовали его абстрактные методы.

Добавьте для компиляции это:
Код:
PROCEDURE (v : View) Restore (f: Views.Frame; l, t, r, b: INTEGER), EMPTY;
Работать в общем случае не будет, но зато скомпилируется. Для правильной работы нужно удалить EMPTY, вставить блок BEGIN END и правильно его заполнить.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 04 Декабрь, 2009 13:44 

Зарегистрирован: Вторник, 10 Ноябрь, 2009 13:15
Сообщения: 58
Хм... Странно как то.
Ладно спасибо, приму во внимание.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 04 Декабрь, 2009 13:49 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
А чего тут странного?

Вы пишете графический объект, он обязательно должен иметь метод рисования.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB