OberonCore
https://forum.oberoncore.ru/

Общие вопросы по программированию для Bluebottle
https://forum.oberoncore.ru/viewtopic.php?f=22&t=916
Страница 1 из 2

Автор:  bohdant [ Суббота, 15 Март, 2008 20:51 ]
Заголовок сообщения:  Общие вопросы по программированию для Bluebottle

Вот захотелось поэкспериментировать с Bluebottle
Решил сделать следующее:
1. Получить список окон
2. Активировать какое либо окно
и т.д. и т.п.

Написал следующий код (проверял все только под WinAos) который вызывается при нажатии кнопки на моем окне:
Код:
      PROCEDURE TestWin(sender, data : ANY);
      VAR
       ss:Utilities.String;
       ww,w:WM.Window;
       i:LONGINT;
      BEGIN
         manager := WM.GetDefaultManager ();
         w:=manager.GetFirst();
         i:=0;
        WHILE w#NIL DO
         ss:=w.GetTitle();
                  AosOut.String("WinCount =");    AosOut.Int(i,5);IF ss#NIL THEN AosOut.String(ss^); END;            AosOut.Ln;              
INC(i);
         IF i=2 THEN ww:=w; END; (*Выбираем произвольное окно*)
         w:=manager.GetNext(w);
       END;
       IF ww#NIL THEN
         manager.SetFocus(w);manager.ToFront(w); (*Активируем и "Выпихиваем" на верх*)
      END;
   END TestWin;

Код :cry: естественно не работает, срабатывает при вызове manager.GetFirst();
ASSERT ( lock.HasWriteLock() );
в модуле Win32.WindowManager.Mod. Если ASSERT закоментить то начинает все работать до вызова manager.SetFocus(w); после чего начинаются разные глюки...

ВОПРОС:
Как правильно разлачивать и когда это можно делать (не могу найти где лочится) WriteLock?
Ну и вообще хотелось бы услышать совет как это правильно делать или хотя бы где именно читануть.

Автор:  bohdant [ Понедельник, 17 Март, 2008 15:19 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Перед обращениями к менеджеру необходимо делать
manager.lock.AcquireWrite;
в конце
manager.lock.ReleaseWrite;

Автор:  rv82 [ Четверг, 09 Октябрь, 2008 06:16 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Скажите, а как под Бутылку создаются GUI-приложения? Окно описывается вручную (как в WinAPI), или строится визуально, а потом элементы этого окна связываются с модулями, подобно BlackBox?

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 07:55 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

rv82 писал(а):
Скажите, а как под Бутылку создаются GUI-приложения? Окно описывается вручную (как в WinAPI), или строится визуально, а потом элементы этого окна связываются с модулями, подобно BlackBox?
Вариантов ответов несколько: :)
1. Окно описывается вручную. Но, это скорее не как в WinAPI а больше похоже на как в .Net или в KOL (альтернативная библиотека компонентов для Delphi) без MCK.
2. Богдан некоторое время тому назад решил создать дизайнер форм. На сегодня он практически готов, - окна можно создавать визуально :D Нерешённый пока вопрос -- связывание формы с обработчиками событий. Варианты обсуждаем
3. Dan Parnete сообщил, что тоже в своём проекте использовал возможность визуального создания форм, исходники закрыты, но некоторыми "идеями" сможет поделиться :)
4. Sven Stauber в ETHZ тоже на сегодняшний день работает над дизайнером форм, но как он сообщает, это будет больше похоже на систему Gadgets.

Автор:  bohdant [ Четверг, 09 Октябрь, 2008 09:29 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Ярослав Романченко писал(а):
На сегодня он практически готов

Немного не точно, на сегодня можно сказать, что дизайнер возможно реализовать
Дизайнер скорее в начале пути. В начале было много технических вопросов, пока что вроде все они решены, но еще не реализованы.

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 12:22 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

В итоге, видимо, можно говорить о том, что Блэкбокс на сегодня ориентирован на сложную содержательную графику (бизнес, аналитика, наука, инженерия), а Бутылка - на полностью own-draw мультимедийную ("развлекательную" и ей подобную), с которой в Блэкбоксе приходится повозиться обычно?

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 12:24 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Илья Ермаков писал(а):
В итоге, видимо, можно говорить о том, что Блэкбокс на сегодня ориентирован на сложную содержательную графику (бизнес, аналитика, наука, инженерия), а Бутылка - на полностью own-draw мультимедийную ("развлекательную" и ей подобную), с которой в Блэкбоксе приходится повозиться обычно?
CRM система -- развлечение? :D

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 12:48 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Так я не про назначение, а про специфику графики. Не знаю, как её ещё обозвать.

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 13:03 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Илья Ермаков писал(а):
а про специфику графики.
А в чём специфика графики? Пиксель он и в Африке пиксель :)
Полупрозрачность окошек помеха?

Автор:  bohdant [ Четверг, 09 Октябрь, 2008 15:51 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Цитата:
В итоге, видимо, можно говорить о том, что Блэкбокс на сегодня ориентирован на сложную содержательную графику (бизнес, аналитика, наука, инженерия), а Бутылка - на полностью own-draw мультимедийную ("развлекательную" и ей подобную), с которой в Блэкбоксе приходится повозиться обычно?


Извиняюсь за глупый вопрос, но объясните мне чем отличается "содержательная" графика от "мультимедийной"?

Не хотелось повторяться, я уже бросал ссылку, Илья вот ответ на вопрос:

Цитата:
KTI/CTI project A2
Development of a generic, programmable industry PC for complex control tasks in reliability critical applications

An industry PC for complex control tasks based on the existing ultra-compact ETHZ Oberon systems is to be developed where we aim at 100 % reliability and maintainability by a single person. Challenges are the combination of full runtime support (including garbage collection) and real-time requirements, the development of a suitable programming framework and the communicative compatibility with well-established industry systems.


Хотелось бы добавить, что сейчас проект в разработке и некоторые (скорее многие) вещи еще будут менятся.

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 18:46 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Я поделил на два направления по таким свойствам:
1) имеем удобный каркас, в котором можно организовывать сложные системы отображения информации. Работаем в понятиях не представления, а модели (документ и т.п.). Но поскольку абстрагировались от представления (даже понятие "окно" от нас спрятано), то не легко полностью контролировать, как всё показывается на экране (т.е. можно наткнуться на какую-нибудь упрямую мелочь, с которой придётся повозиться). Т.е. мы определяем (иерархически и композиционно), что показываем.
2) имеем мощный именно графический каркас, в котором полностью определяем, как рисуем (что из себя представляет экран). Но работаем в терминах представления. Термины модели (пока) особо "не дадены".

Автор:  bohdant [ Четверг, 09 Октябрь, 2008 19:24 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

bohdant писал(а):
Я поделил на два направления по таким свойствам


Илья, скорее всего можно отнести к обеим категориям. Наверное хорошим примером такой "двойственности" можно отнести
WMDiagramComponents.MultiPointView. Тут есть и абракция данных так и возможность контроля прорисовки.

Однако, следует отметить, что все в ожидании новой компонентной модели. Ожидается появление "гаджетов", в каком виде они будут представлены... я не знаю.

Мне кажется, что совмещение указаных Вами веток граф. интерфеса вполне удачным выбором. Т.к. в критических случаях разработчик может взять основные функции на себя. Что особенно важно в встроенных системах.

Еще хотелось бы добавить(немного перефразировав): лучше один раз попробовать, чем 100 раз увидеть или 1000 раз услышав ;)

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 20:37 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Конечно, нужно совмещение.

В ББ интерфейс уровня экрана не введён просто потому, что не введён (время + соотв. опыты применения для его "юстировки" нужны; видать, не было). Поэтому несовершенные варианты лучше было вообще не вводить - в обман народ не вводить :-)

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 20:39 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Насчёт "попробовать" - желание потенциальное есть. Обрисуются задачи - попробуем :-)
Правда, пробовать будем не на графике, видимо, а на серверных назначениях.

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 20:53 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Вопрос: эксплуатируются ли в А2 шины сообщений?
Мне показалось, что не особенно (это объяснимо, т.к. в модели параллелизма ставка сделана на методы, и сообщения на сист. уровне уже оказываются не так просты для применения).

Автор:  bohdant [ Четверг, 09 Октябрь, 2008 21:54 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Илья Ермаков писал(а):
Вопрос: эксплуатируются ли в А2 шины сообщений?
Мне показалось, что не особенно (это объяснимо, т.к. в модели параллелизма ставка сделана на методы, и сообщения на сист. уровне уже оказываются не так просты для применения).

Илья Ермаков писал(а):
Вопрос: эксплуатируются ли в А2 шины сообщений?
Мне показалось, что не особенно (это объяснимо, т.к. в модели параллелизма ставка сделана на методы, и сообщения на сист. уровне уже оказываются не так просты для применения).


Илья, мне кажется, что проще пролистать диссер Т.Фрея. (стр. 73, 100) :)
http://e-collection.ethbib.ethz.ch/view/eth:27966

Автор:  Илья Ермаков [ Четверг, 09 Октябрь, 2008 22:26 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

+
:-)

Автор:  Ярослав Романченко [ Четверг, 09 Октябрь, 2008 23:08 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Так sequencer это шина сообщений или не шина?

Автор:  bohdant [ Пятница, 10 Октябрь, 2008 09:12 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

Вот интересный проспектик, про общую направленность А2:
http://www.radiar.ch/A2/A2Prospekt.pdf

Автор:  Ярослав Романченко [ Пятница, 10 Октябрь, 2008 09:59 ]
Заголовок сообщения:  Re: Общие вопросы по программированию для Bluebottle

bohdant писал(а):
Вот интересный проспектик, про общую направленность А2:
http://www.radiar.ch/A2/A2Prospekt.pdf
Насколько я понял, radiar -- производитель железа, а А2 они использовали в качестве названия этого самого железа А2-же и начинённого :)

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/