OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 16 Декабрь, 2017 00:37

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




Начать новую тему Ответить на тему  [ Сообщений: 113 ]  На страницу Пред.  1, 2, 3, 4, 5, 6
Автор Сообщение
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 01:35 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1977
Откуда: Красноярск
Пётр Кушнир писал(а):
Или не решат.
Не знаю. Но, я бы не стал недооценивать Роберта :) думаю, он сам кому надо поможет.

А вот благодаря тому, что ты нашел формулу петли, мы скоро узнаем как это можно будет сделать на двух ОС. Мне придется делать так-же для своих графиков, не зря изучал этот hook )))


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 01:42 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2448
Откуда: Россия, Ярославль
Напомню, что оригинал обсуждаемой схемы вот здесь.
Как можно увидеть в правой части - стрелочки красные только внизу.
А Host-для-компонентов не импортирует Host.
Поэтому не подойдет твое решение, Иван. Ты закопаешься в гонке за интерфейсом хоста.
А уж новым пользователям я вообще не хочу повторять пять страниц этого обсуждения.


Вложения:
Комментарий к файлу: обсуждаемая схема
Снимок.PNG
Снимок.PNG [ 30.39 КБ | Просмотров: 2722 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 01:52 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1977
Откуда: Красноярск
Не понял тебя, если честно. Сегодня нет возможности продолжить, до связи. Я подозреваю, что противоречие исключительно внешнее, терминологическое, а говорим мы про одно и то-же.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 02:05 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2448
Откуда: Россия, Ярославль
Что делает Роберт:
Код:
IMPORT HostPorts, WinApi;
и по накатанным рельсам.
При том, что HostPorts меняется от ОС к ОС, это забавно.
В общем, я прекрасно понимаю, о чем вы мне рассказываете, но мы этот вариант уже обдумали, он недостаточно верный. Полумеры не нужны, только время на них тратить. :|


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 08 Декабрь, 2013 07:48 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 1977
Откуда: Красноярск
Пётр Кушнир писал(а):
Что делает Роберт:
Код:
IMPORT HostPorts, WinApi;
и по накатанным рельсам.
При том, что HostPorts меняется от ОС к ОС, это забавно.
В общем, я прекрасно понимаю, о чем вы мне рассказываете, но мы этот вариант уже обдумали, он недостаточно верный. Полумеры не нужны, только время на них тратить. :|
Просто, чтобы получить доступ к HostPorts.Rider или к константам нажатия клавиш мыши... это поправить, все равно, что пыль смахнуть. Вы потрудитесь посмотреть дальше секции импорта! Есть логика в дизайне ББ, и она годится как исходная точка для исправления и аккумуляции фиксов, которых наберется отсилы 5%.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Вторник, 24 Декабрь, 2013 14:22 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2448
Откуда: Россия, Ярославль
Для лучшего понимания структуры ББ визуализировал схему взаимных реализаций для трех подсистем System + Std + Host (для Windows).
Можно заметить, что левая крупная группа реализует возможности работы ББ вообще, а правая часть реализует все, что касается пользовательского интерфейса и работы с документами.


Вложения:
Комментарий к файлу: схема
bbdirhooks.png
bbdirhooks.png [ 38.72 КБ | Просмотров: 2598 ]
Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 28 Декабрь, 2013 20:39 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2916
Откуда: г. Ярославль
Произвёл собственную герметизацию хоста для лучшего понимания. Взял эталон ББ и прошёл по пути Петра (кое-где сделал по-своему).

На уровне хоста зафиксированы подсистемы Comm, Ole, Win, x86win32host. Ещё пара модулей SqlOdbc, SqlOdbc3 нетронуты. Все стандартные менюшки указывают на новый хост (на мой взгляд, изменить меню под новый хост совершенно несложно, дело нескольких минут). С подсистемой Comm даже не стал разбираться. На данный момент это для меня неактуально, а гарантировать работоспособность перелопаченной Comm пока что не возьмусь.

Мою сборку можно поднять по следующему алгоритму:

1. Склонировать репозиторий
Код:
hg clone https://akastargazer@bitbucket.org/akastargazer/bb.kia

2. Положить в папку bb.kia комплект ББ в одном .EXE (инструкцию по сборке такого комплекта брать здесь, а собирать лучше всего в эталоне)

3. Запустите однофайловый ББ. Скорее всего, это будет MyBlackBox.exe, и перетащите в него документ bb.kia\Docu\KuzmitskyIA\About.odc (через меню File, Open это сделать не получится - так как будет мешать System\Rsrc\Menus, нацеленное на новый хост).

4. Выполните все три шага из раздела 1.2 Компиляция сборки. Там надо методично откомпилировать все исходники (методично - потому что компилятор будет постоянно запрашивать разрешение на создание каталогов Code и Sym для каждой подсистемы), скомпилировать псевдомодуль и собрать новый пускач.

Закрывайте ненужный теперь MyBlackBox и запускайте x86win32.exe.

История герметизации описана в документе "bb.kia\Docu\KuzmitskyIA\My hermetization.odc".

Что я могу сказать по итогам работы? Хотя система и носит название BlackBox, но есть довольно много архитектурных вещей, которые по тем или иным причинам нарушают провозглашённый принцип чёрного ящика. Для меня было важно разобраться с этими нарушениями для того, чтобы было легче строить новые хосты.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 29 Декабрь, 2013 01:32 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2448
Откуда: Россия, Ярославль
Иван Кузьмицкий писал(а):
1. Склонировать репозиторий
Код:
hg clone https://akastargazer@bitbucket.org/akastargazer/bb.kia
Только не нужно использовать имя пользователя akastargazer :)
Иван Кузьмицкий писал(а):
История герметизации описана в документе "bb.kia\Docu\KuzmitskyIA\My hermetization.odc".

Что я могу сказать по итогам работы? Хотя система и носит название BlackBox, но есть довольно много архитектурных вещей, которые по тем или иным причинам нарушают провозглашённый принцип чёрного ящика. Для меня было важно разобраться с этими нарушениями для того, чтобы было легче строить новые хосты.
Отличная работа, она демонстрирует, какой относительно небольшой переход необходим для улучшения ситуации с заменой хост-части. Теперь действительно, ничего не мешает сделать x86ubuntu из содержимого известной сборки и получить полноценную кроссплатформенную виндовс+линукс сборку ББ.
"My hermetization.odc", "Мои университеты" :)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 29 Декабрь, 2013 09:44 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2916
Откуда: г. Ярославль
Да, вот правильная ссылка:
Код:
hg clone https://bitbucket.org/akastargazer/bb.kia


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 29 Декабрь, 2013 14:47 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4476
Откуда: Россия, Орёл
Info21 писал(а):
Иван Кузьмицкий писал(а):
ББ выглядит так, будто его кроили из двух важных концепций.
Первая из них - это объектная оберон-ОС, к её реализации отнеслись серьёзно и она проработана прекрасно.
Вторая из них - прокладка между первой концепцией и гостевой ОС, где возникают явные сложности с качественной проработкой абстракций самой ОС.
В этои и была главная фишка замысла: к оберон-ОС приделать skin, подстраивающийся под look-and-feel гостевой ОС.

И все сложности именно оттуда, от гостевых ОС, за которыми не угонишься.

Возможно, надо наплевать на look-and-feel. Не гнаться.
Иметь чирикающий Оберон с более-менее общепринятыми интерфейсами важнее, чем фокусы с полной мимикрией под гостевую ОС.
По-моему, замысел оказался не удачен. Сначала приклепали кнопки, потом их вид под look-and-feel. Вот до сих пор формы с кнопками и клепаются... лет 20 уже?

А вопрос портирования того, что получилось, о проблемах которого говорит Иван, может быть ещё одним примером пробивания стены (viewtopic.php?p=85010#p85010). Очевидно, что портировать ББ без кнопок и форм, особенно look-and-feel, гораздо проще, чем с ними. Но сама проблема рассмотрения этого вопроса обычно упирается в "а как же мы без форм и кнопок?"...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 29 Декабрь, 2013 15:42 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 410
Иван Кузьмицкий писал(а):
Мою сборку можно поднять по следующему алгоритму:

Почему бы не сделать нормальную сборку, чтобы исключить эти танцы с бубном, чтобы скачать и запустить.


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

Зарегистрирован: Среда, 29 Март, 2006 12:09
Сообщения: 490
Kemet писал(а):
Иван Кузьмицкий писал(а):
Мою сборку можно поднять по следующему алгоритму:

Почему бы не сделать нормальную сборку, чтобы исключить эти танцы с бубном, чтобы скачать и запустить.

Потому, полагаю, что это work in progress.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Воскресенье, 29 Декабрь, 2013 16:36 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2916
Откуда: г. Ярославль
Kemet писал(а):
Иван Кузьмицкий писал(а):
Мою сборку можно поднять по следующему алгоритму:

Почему бы не сделать нормальную сборку, чтобы исключить эти танцы с бубном, чтобы скачать и запустить.
Откуда вы знаете, где я компилирую мою сборку? Кодовые могут быть совершенно левые. Чтобы гарантировать кодовые, я храню в репе только исходники. И правильно Димыч сказал, работа всё ещё in progress. Кстати, создать запускаемую сборку очень легко - это всего лишь вопрос упаковки папки bb.kia, только какой в этом смысл? Там обычный ББ, ничего интересного :)


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

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


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

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


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

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