OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 19 Апрель, 2024 23:22

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Связь модулей
СообщениеДобавлено: Среда, 22 Март, 2006 16:35 

Зарегистрирован: Четверг, 01 Декабрь, 2005 16:00
Сообщения: 18
Проблема:
есть 2 модуля - модуль А получает данные, а В их расшифровывает. Модуль В импортирует А.
Необходимо реализовать взаимдействие между ними таким образом, чтобы модуль А после получения новой порции данных сообщал модулю В об их прибытии, а модуль В их потом забирал из А. Но так как В импортирует А, то сообщение из А в В передать не удается. Можно это обойти?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Связь модулей
СообщениеДобавлено: Среда, 22 Март, 2006 17:59 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 18:55
Сообщения: 2272
Откуда: Россия, Нижний Новгород
Ну, существует тысяча способов.
Например, пусть модуль B зарегистрирует в модуле A процедуру обратного вызова.
Код:
MODULE A;

  VAR onReceive*: PROCEDURE;

  ...

  (* получили данные *)
  IF onReceive # NIL THEN onReceive() END;

  ...

END A.


Код:
MODULE B;

  IMPORT A;

  ...

  PROCEDURE OnReceive;
  BEGIN ...
  END OnReceive;

  ...
BEGIN
  A.onReceive := OnReceive
END B.


Но лучше использовать ООП: создать один модуль, в котором описать абстрактные типы (объекты которых друг с другом тесно взаимодействуют), в других модулях реализовать эти типы, и, наконец, в последнем (главном) модуле эти объекты создать и "сцепить" друг с другом.


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

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


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

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


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

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