OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Суббота, 14 Декабрь, 2024 21:55

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




Начать новую тему Ответить на тему  [ Сообщений: 14 ] 
Автор Сообщение
 Заголовок сообщения: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Понедельник, 25 Январь, 2021 23:38 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Зачем линковать HostGui? Его можно грузить через Init. Для консоли свой Init, для графики свой.
Код:
   IMPORT Kernel, Dialog, Converters, HostGui, HostMenus;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Вторник, 26 Январь, 2021 02:11 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3806
Евгений Темиргалеев писал(а):
Зачем линковать HostGui? Его можно грузить через Init. Для консоли свой Init, для графики свой.
Код:
   IMPORT Kernel, Dialog, Converters, HostGui, HostMenus;

Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Вторник, 26 Январь, 2021 11:57 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4714
Откуда: Россия, Орёл
Иван Денисов писал(а):
Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается.

Если программист отрезал Init, то он будет искать ошибку и посмотрит в консоль. А у пользователя, в конкретной сборке проблем не будет. Не надо переусложнять.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Вторник, 26 Январь, 2021 13:30 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Борис Рюмшин писал(а):
Иван Денисов писал(а):
Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается.

Если программист отрезал Init, то он будет искать ошибку и посмотрит в консоль. А у пользователя, в конкретной сборке проблем не будет. Не надо переусложнять.

А если это не программист, а пользователь, и случилась беда какая-нибудь, и файл пропал, или если не из той папки запущен ББ, и там ессно не нашлось Init - то будет просто ничего, злящее пользователя и незаслуженно дискредитирующее ББ.

Мне иногда, при экспериментах с ядром, нужен собственный пускач (изредка - даже не один). Я решил вопрос так: есть штатный из поставки, он лежит где обычно. Мой собственный - в рабочей папке ББ или еще в третьей папке. Я слегка дополнил скрипт bbcb, и передаю ему параметр there, если хочу запустить ББ со штатным пускачом, и here, если пускач нужно взять из текущей папки. Так упростил себе жонглирование пускачами.

Это я к тому, что, пожалуй, нет нужды нам всем согласиться о составе пускача. Штатный может быть рассчитан на целевую аудиторию сборки, и он совершенно не будет мешать гуру-спецам; а для отдельных приложений вообще можно индивидуальные собирать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Вторник, 26 Январь, 2021 20:47 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3806
Борис Рюмшин писал(а):
Иван Денисов писал(а):
Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается.

Если программист отрезал Init, то он будет искать ошибку и посмотрит в консоль. А у пользователя, в конкретной сборке проблем не будет. Не надо переусложнять.

У меня школьники частенько копируют BlackBox.exe из архива на рабочий стол и пытаются запустить. Тут важно осмысленное сообщение об ошибке. Я бы даже как-то более информативно его оформил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Вторник, 26 Январь, 2021 22:49 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4714
Откуда: Россия, Орёл
Это как надо так скопировать, чтобы завалить всё? А потом собирать что-то мелкое консольное, а оно тянет непонятно что за собой? Это всё слабые аргументы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Среда, 27 Январь, 2021 00:46 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
По-моему, вариант со школьниками вполне себе аргумент. Одним стандартным пускачом на все случаи все равно не обойдешься.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Четверг, 28 Январь, 2021 04:32 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3806
Борис Рюмшин писал(а):
Это как надо так скопировать, чтобы завалить всё? А потом собирать что-то мелкое консольное, а оно тянет непонятно что за собой? Это всё слабые аргументы.

Дело в том, что рядовой пользователь думает, что для работы Блэкбокса нужен только экзешный файл. Остальные странные папки его мало интересуют. Этот исполняемый файл копируется на рабочий стол из архива. Пользователь недоумевает, почему всё не работает.
Так что тут очень уместно сообщение в графическом окне "файл Init не найден". Я думаю, что должно быть что-то типа "Необходимый компонент 'Init' для работы приложения не обнаружен. Убедитесь, что директории подсистем находятся рядом с файлом программы."


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Четверг, 28 Январь, 2021 07:41 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1435
Где вы такого пользователя нашли? И почему он именно про блэкбокс так думает?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Четверг, 28 Январь, 2021 08:13 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3806
Trurl писал(а):
Где вы такого пользователя нашли? И почему он именно про блэкбокс так думает?

Рядовой школьник 8-9 класс так делает в ≈ 30% случаев. Проверено экспериментально :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: #046 Библиотекарь модулей
СообщениеДобавлено: Четверг, 28 Январь, 2021 10:32 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4714
Откуда: Россия, Орёл
Иван Денисов писал(а):
...Так что тут очень уместно сообщение в графическом окне "файл Init не найден". Я думаю, что должно быть что-то типа "Необходимый компонент 'Init' для работы приложения не обнаружен. Убедитесь, что директории подсистем находятся рядом с файлом программы."

Да, после чего все найдут Init и скопируют его. И ничего не заработает. Народ одно время и ярлыки копировал в винде вместо файлов на гибкие диски, а потом и на флэшки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Четверг, 28 Январь, 2021 12:37 
Аватара пользователя

Зарегистрирован: Суббота, 16 Февраль, 2008 02:47
Сообщения: 660
Школьники 8-9 классов - нормальные здоровые люди. Они нормально ожидают, что штука ББ.exe, которую я нажимаю - это и есть вся штука. То, что для работы ББ (или любой другой программы) требуется еще ворох всяких "файлов", которые к тому же могут быть раскиданы там и сям (как в юниксах) - это ненормально. (А кроме файлов могут еще потребоваться настройки в реестре, которые вообще неизвестно, как потрогать руками.

Аналогия: автомобиль (микроволновка, телевизор...) состоит из множества подсистем, однако конструктивно исполнен как единое целое. Пользователю не предлагается вникать в его устройство, чтобы переместить из А в Б. Почему же мы от пользователей программ требуем, чтобы они вникали?

Системный блок тоже конструктивно исполнен как единое целое. Но у меня на столе (в юности) он всегда состоял из частей, и никогда не был закрыт. Но я не пользователь, я программист. А на столах пользователей я компьютеры всегда аккуратно закрывал и завинчивал (когда был эникейщиком).

В айти засилье айтишников )). Которые наивно навязывают пользователям свой образ мышления. Файл - вообще низкоуровневое системное понятие, которое никогда не должно было дойти до пользователя. Он пусть пользуется документами, музыкой, видео, приложениями... А программисты пусть решают, как это хозяйство представить в виде файлов. Примечательно, что в андроиде нет файлов. Даже когда программы устанавливаешь.

Как вам такая идея: двинуться в другую сторону, и спрятать в BlackBox.exe ВСЕ файлы? При двухуровневом представлении ФС изнутри ББ получится, что папка PRIMARY - это содержимое BlackBox.exe, а рабочая папка - это SECONDARY.
Тогда средствами ОС невозможно нарушить целостность PRIMARY файловой системы ББ (залезть проводником или каким-нибудь коммандером). И его всегда можно запустить из пустой папки.
(На линукс, кста, папка PRIMARY в любом случае только для чтения, если ББ устанавливать из пакета: она попадает в /usr/lib)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Четверг, 28 Январь, 2021 13:19 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4714
Откуда: Россия, Орёл
adimetrius писал(а):
Как вам такая идея: двинуться в другую сторону, и спрятать в BlackBox.exe ВСЕ файлы? При двухуровневом представлении ФС изнутри ББ получится, что папка PRIMARY - это содержимое BlackBox.exe, а рабочая папка - это SECONDARY.

Это в общем-то тривиально делается и давно применяется теми, кому это надо (HostPackedFiles). Поэтому я вообще не вижу проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Зачем линковать HostGui в пускач?
СообщениеДобавлено: Пятница, 29 Январь, 2021 04:21 
Аватара пользователя

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


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

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


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

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


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

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