OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 05 Декабрь, 2020 02:40

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Черный квадрат и синяя бутылка
СообщениеДобавлено: Среда, 12 Август, 2020 15:50 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 362
Коллеги, а какие есть способы интеграции ББ и А2?

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Черный квадрат и синяя бутылка
СообщениеДобавлено: Среда, 12 Август, 2020 17:55 

Зарегистрирован: Пятница, 11 Январь, 2019 19:26
Сообщения: 188
Откуда: Russia
Собрать а2 с необходимым комплектом модулей в виде dll


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Черный квадрат и синяя бутылка
СообщениеДобавлено: Среда, 12 Август, 2020 18:21 
Аватара пользователя

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

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

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Черный квадрат и синяя бутылка
СообщениеДобавлено: Воскресенье, 16 Август, 2020 02:29 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Черный квадрат и синяя бутылка
СообщениеДобавлено: Среда, 26 Август, 2020 12:24 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 362
В итоге сделал HTTP-сервер на А2, посылаю ему запросы из ББ и получаю асинхронно ответы.

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


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

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


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

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


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

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