OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 24 Январь, 2019 02:55

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




Начать новую тему Ответить на тему  [ Сообщений: 39 ]  На страницу 1, 2  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 15 Март, 2008 20:51 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
Вот захотелось поэкспериментировать с 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?
Ну и вообще хотелось бы услышать совет как это правильно делать или хотя бы где именно читануть.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Понедельник, 17 Март, 2008 15:19 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
Перед обращениями к менеджеру необходимо делать
manager.lock.AcquireWrite;
в конце
manager.lock.ReleaseWrite;


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 06:16 

Зарегистрирован: Вторник, 13 Март, 2007 06:15
Сообщения: 93
Откуда: Кемерово, КузГТУ
Скажите, а как под Бутылку создаются GUI-приложения? Окно описывается вручную (как в WinAPI), или строится визуально, а потом элементы этого окна связываются с модулями, подобно BlackBox?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 07:55 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 09:29 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
Ярослав Романченко писал(а):
На сегодня он практически готов

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 12:22 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9072
Откуда: Россия, Орёл
В итоге, видимо, можно говорить о том, что Блэкбокс на сегодня ориентирован на сложную содержательную графику (бизнес, аналитика, наука, инженерия), а Бутылка - на полностью own-draw мультимедийную ("развлекательную" и ей подобную), с которой в Блэкбоксе приходится повозиться обычно?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 12:24 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 975
Откуда: Украина, Киев
Илья Ермаков писал(а):
В итоге, видимо, можно говорить о том, что Блэкбокс на сегодня ориентирован на сложную содержательную графику (бизнес, аналитика, наука, инженерия), а Бутылка - на полностью own-draw мультимедийную ("развлекательную" и ей подобную), с которой в Блэкбоксе приходится повозиться обычно?
CRM система -- развлечение? :D


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 12:48 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9072
Откуда: Россия, Орёл
Так я не про назначение, а про специфику графики. Не знаю, как её ещё обозвать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 13:03 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 975
Откуда: Украина, Киев
Илья Ермаков писал(а):
а про специфику графики.
А в чём специфика графики? Пиксель он и в Африке пиксель :)
Полупрозрачность окошек помеха?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 15:51 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
Цитата:
В итоге, видимо, можно говорить о том, что Блэкбокс на сегодня ориентирован на сложную содержательную графику (бизнес, аналитика, наука, инженерия), а Бутылка - на полностью 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 
Модератор
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 19:24 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
bohdant писал(а):
Я поделил на два направления по таким свойствам


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

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

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 20:37 
Модератор
Аватара пользователя

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

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 20:39 
Модератор
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 20:53 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9072
Откуда: Россия, Орёл
Вопрос: эксплуатируются ли в А2 шины сообщений?
Мне показалось, что не особенно (это объяснимо, т.к. в модели параллелизма ставка сделана на методы, и сообщения на сист. уровне уже оказываются не так просты для применения).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 21:54 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
Илья Ермаков писал(а):
Вопрос: эксплуатируются ли в А2 шины сообщений?
Мне показалось, что не особенно (это объяснимо, т.к. в модели параллелизма ставка сделана на методы, и сообщения на сист. уровне уже оказываются не так просты для применения).

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


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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 22:26 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9072
Откуда: Россия, Орёл
+
:-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 09 Октябрь, 2008 23:08 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 975
Откуда: Украина, Киев
Так sequencer это шина сообщений или не шина?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Октябрь, 2008 09:12 
Аватара пользователя

Зарегистрирован: Суббота, 15 Март, 2008 20:00
Сообщения: 293
Откуда: Київ, Україна
Вот интересный проспектик, про общую направленность А2:
http://www.radiar.ch/A2/A2Prospekt.pdf


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 10 Октябрь, 2008 09:59 
Аватара пользователя

Зарегистрирован: Пятница, 11 Май, 2007 21:57
Сообщения: 975
Откуда: Украина, Киев
bohdant писал(а):
Вот интересный проспектик, про общую направленность А2:
http://www.radiar.ch/A2/A2Prospekt.pdf
Насколько я понял, radiar -- производитель железа, а А2 они использовали в качестве названия этого самого железа А2-же и начинённого :)


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

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


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

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


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

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