OberonCore
https://forum.oberoncore.ru/

Черный квадрат и синяя бутылка
https://forum.oberoncore.ru/viewtopic.php?f=1&t=6646
Страница 1 из 1

Автор:  adimetrius [ Среда, 12 Август, 2020 15:50 ]
Заголовок сообщения:  Черный квадрат и синяя бутылка

Коллеги, а какие есть способы интеграции ББ и А2?

В идеале, мне бы хотелось из модуля внутри Блекбокса вызвать процедуру, определенную в модуле А2, передать ей параметры, она бы поработала внутри А2 и вернула мне в ББ результаты через параметры-переменные. Ну, если такого счастья нет, то хотя бы через командную строку как-нибудь. Есть ли такое?

Все это на платформе Линукс.

Автор:  Sergej Durmanov [ Среда, 12 Август, 2020 17:55 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Собрать а2 с необходимым комплектом модулей в виде dll

Автор:  adimetrius [ Среда, 12 Август, 2020 18:21 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Ага, спасибо за ответ; он помог мне лучше понять и уточнить свой запрос. ББ работает в 32-битном режиме, а мне нужно, чтобы А2 работала и выполняла мой запрос в 64-битном режиме. Получается, что IPC не обойти - они должны быть в разных процессах. И тогда мой запрос превращается в:

Какие средства IPC с внешним миром поддерживает А2 в лин?

А)
В простейшем случае я могу передать ей данные в файле и результат тоже взять из файла, и запустить через Dialog.CallExternal.
Наверняка можно собрать А2 чтобы она как утилита командной строки отработала. Где об этом можно прочесть?

Б) если я не захочу то и дело создавать процесс А2, как настроить IPC с работающей А2? Например, как послать ей сигнал, когда я подготовил входные данные?

Автор:  Ярослав Романченко [ Воскресенье, 16 Август, 2020 02:29 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Когда A2 стартует с командной оболочкой, то подключается к стандартным потокам ввода-вывода.
Т.е. выполняем, например, "A2.exe run <файл с параметрами>". Если файл существует, из него исполняются команды. Если файла нет, исполняется команда "Shell.Start"
Это место в коде: модуль StdIOShell.Mod, процедура Execute
Потом активности обслуживающие потоки ввода-вывода висят постоянно. По-идее, в потоки ввода-вывода можно писать/читать

Автор:  adimetrius [ Среда, 26 Август, 2020 12:24 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

В итоге сделал HTTP-сервер на А2, посылаю ему запросы из ББ и получаю асинхронно ответы.

С непривычки замучился программировать в А2: очень привык к "богатому" посмертному отладчику в Черном Квадрате; переходу к месту в исходнике из посмертного дампа (синий ромбик); просмотру интерфейса модуля или символа; и, пожалуй, главное - "богатому" тексту, когда можно использовать цвет/жирность по смыслу, а не по синтаксису. Это подпортило мои впечатления, хотя решить основную свою задачу удалось легко и быстро.

Автор:  Info21 [ Вторник, 02 Март, 2021 11:38 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

adimetrius писал(а):
С непривычки замучился программировать в А2: очень привык к "богатому" посмертному отладчику в Черном Квадрате; переходу к месту в исходнике из посмертного дампа (синий ромбик); просмотру интерфейса модуля или символа; и, пожалуй, главное - "богатому" тексту, когда можно использовать цвет/жирность по смыслу, а не по синтаксису.

Удивительно, что в А2 всего этого нет.
Кто-нибудь не напомнит, почему? Текст изначально с вьюшками только в Блэкбоксе?

Автор:  Sergej Durmanov [ Вторник, 02 Март, 2021 14:21 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Чего именно нет?

Автор:  Sergej Durmanov [ Вторник, 02 Март, 2021 14:35 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Если речь о выводе окна с TRAP, то это просто gui над системым выводом. Учитывая, что а2 это операционная система - вывод трассировочной информации производится в порты (com, uart ), файл, память. В общем случает, там просто текст по понятным причинам. И над этим граббер в окно.
БлекБокс это просто приложение и нет особой нужды делать низкоуровневый вывод трассировочной информации.

Автор:  Info21 [ Вторник, 02 Март, 2021 22:34 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Спасибо, понятно.
Непонятно только, разве в операционной системе нет нужды в комфортной разработке?

Автор:  Sergej Durmanov [ Среда, 03 Март, 2021 09:03 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Да вроде вполне комфортная там разработка. Если речь о раскрашивании текста вручную, то это дичь. Но это тоже можно сделать отключив в настройках синтаксическую подсветку.

Автор:  Info21 [ Четверг, 04 Март, 2021 16:38 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Sergej Durmanov писал(а):
Да вроде вполне комфортная там разработка.
Но началось-то ровно с противоположного мнения, разве нет?

Автор:  adimetrius [ Четверг, 04 Март, 2021 18:37 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Сергей грозился сделать загрузчик ББ-модулей в А2, или что-то подобное. Было б оч интересно. Пока этого не произошло, я приноровился так: в ББ редактирую модуль-документ, внутри него - коммандер, который экспортирует его в плоский текст и "подкладывает" в рабочую папку А2. И цвет, и складки могу себе позволить )))

Автор:  Sergej Durmanov [ Пятница, 05 Март, 2021 07:45 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

adimetrius писал(а):
И цвет, и складки могу себе позволить )))
всё это раскрашивание текста вручную... складки... вы кормите и культивируете внутреннего примата ...
БлэкБокс -- это ловушка для внутреннего примата (манипуляции + движущееся-цветное).

Автор:  Info21 [ Пятница, 05 Март, 2021 12:57 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Sergej, Вы жонглируете словами, понять смысл которых не удосужились. Ну, и передергиваете.

Автор:  Sergej Durmanov [ Суббота, 06 Март, 2021 15:09 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Не, здесь всё чотко: "Внезапно" оказывается, что раскрашивание программы имеет смысл, но Вы отказываете в наличии смысла другим средствам разработки/обучения, отличным от ББ. И как мне кажется, Вы просто чувствуете конкуренцию со стороны того же Скретча в деле приобщения детей к программированию, отсюда и такие нападки. Это называется недобросовестной конкуренцией. Вместо наброса на Скретч ( а это объективно сейчас лучшее средство для старта в программировании, естественно не без недостатков ), продвигайте своё видение и свои средства обучения, опишите, чем они хороши, что дают занимающимся, почему это хорошо (но не в своей обычной манере )

Автор:  Info21 [ Воскресенье, 07 Март, 2021 12:22 ]
Заголовок сообщения:  Re: Черный квадрат и синяя бутылка

Недобросовестная конкуренция -- это как раз Скретч: обман детишек и их родителей с помощью цветных движущихся завлекалочек -- прямая апелляция к внутренней обезьяне.

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

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