OberonCore https://forum.oberoncore.ru/ |
|
Зачем линковать HostGui в пускач? https://forum.oberoncore.ru/viewtopic.php?f=134&t=6718 |
Страница 1 из 1 |
Автор: | Евгений Темиргалеев [ Понедельник, 25 Январь, 2021 23:38 ] |
Заголовок сообщения: | Зачем линковать HostGui в пускач? |
Зачем линковать HostGui? Его можно грузить через Init. Для консоли свой Init, для графики свой. Код: IMPORT Kernel, Dialog, Converters, HostGui, HostMenus;
|
Автор: | Иван Денисов [ Вторник, 26 Январь, 2021 02:11 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Евгений Темиргалеев писал(а): Зачем линковать HostGui? Его можно грузить через Init. Для консоли свой Init, для графики свой. Код: IMPORT Kernel, Dialog, Converters, HostGui, HostMenus; Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается. |
Автор: | Борис Рюмшин [ Вторник, 26 Январь, 2021 11:57 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Иван Денисов писал(а): Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается. Если программист отрезал Init, то он будет искать ошибку и посмотрит в консоль. А у пользователя, в конкретной сборке проблем не будет. Не надо переусложнять. |
Автор: | adimetrius [ Вторник, 26 Январь, 2021 13:30 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Борис Рюмшин писал(а): Иван Денисов писал(а): Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается. Если программист отрезал Init, то он будет искать ошибку и посмотрит в консоль. А у пользователя, в конкретной сборке проблем не будет. Не надо переусложнять. А если это не программист, а пользователь, и случилась беда какая-нибудь, и файл пропал, или если не из той папки запущен ББ, и там ессно не нашлось Init - то будет просто ничего, злящее пользователя и незаслуженно дискредитирующее ББ. Мне иногда, при экспериментах с ядром, нужен собственный пускач (изредка - даже не один). Я решил вопрос так: есть штатный из поставки, он лежит где обычно. Мой собственный - в рабочей папке ББ или еще в третьей папке. Я слегка дополнил скрипт bbcb, и передаю ему параметр there, если хочу запустить ББ со штатным пускачом, и here, если пускач нужно взять из текущей папки. Так упростил себе жонглирование пускачами. Это я к тому, что, пожалуй, нет нужды нам всем согласиться о составе пускача. Штатный может быть рассчитан на целевую аудиторию сборки, и он совершенно не будет мешать гуру-спецам; а для отдельных приложений вообще можно индивидуальные собирать. |
Автор: | Иван Денисов [ Вторник, 26 Январь, 2021 20:47 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Борис Рюмшин писал(а): Иван Денисов писал(а): Тогда, если нет модуля Init, то об его отсутствии Блэкбокс выругается только в консоль и пользователь не поймет почему Блэкбокс не запускается. Если программист отрезал Init, то он будет искать ошибку и посмотрит в консоль. А у пользователя, в конкретной сборке проблем не будет. Не надо переусложнять. У меня школьники частенько копируют BlackBox.exe из архива на рабочий стол и пытаются запустить. Тут важно осмысленное сообщение об ошибке. Я бы даже как-то более информативно его оформил. |
Автор: | Борис Рюмшин [ Вторник, 26 Январь, 2021 22:49 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Это как надо так скопировать, чтобы завалить всё? А потом собирать что-то мелкое консольное, а оно тянет непонятно что за собой? Это всё слабые аргументы. |
Автор: | Евгений Темиргалеев [ Среда, 27 Январь, 2021 00:46 ] |
Заголовок сообщения: | Re: Зачем линковать HostGui в пускач? |
По-моему, вариант со школьниками вполне себе аргумент. Одним стандартным пускачом на все случаи все равно не обойдешься. |
Автор: | Иван Денисов [ Четверг, 28 Январь, 2021 04:32 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Борис Рюмшин писал(а): Это как надо так скопировать, чтобы завалить всё? А потом собирать что-то мелкое консольное, а оно тянет непонятно что за собой? Это всё слабые аргументы. Дело в том, что рядовой пользователь думает, что для работы Блэкбокса нужен только экзешный файл. Остальные странные папки его мало интересуют. Этот исполняемый файл копируется на рабочий стол из архива. Пользователь недоумевает, почему всё не работает. Так что тут очень уместно сообщение в графическом окне "файл Init не найден". Я думаю, что должно быть что-то типа "Необходимый компонент 'Init' для работы приложения не обнаружен. Убедитесь, что директории подсистем находятся рядом с файлом программы." |
Автор: | Trurl [ Четверг, 28 Январь, 2021 07:41 ] |
Заголовок сообщения: | Re: Зачем линковать HostGui в пускач? |
Где вы такого пользователя нашли? И почему он именно про блэкбокс так думает? |
Автор: | Иван Денисов [ Четверг, 28 Январь, 2021 08:13 ] |
Заголовок сообщения: | Re: Зачем линковать HostGui в пускач? |
Trurl писал(а): Где вы такого пользователя нашли? И почему он именно про блэкбокс так думает? Рядовой школьник 8-9 класс так делает в ≈ 30% случаев. Проверено экспериментально ![]() |
Автор: | Борис Рюмшин [ Четверг, 28 Январь, 2021 10:32 ] |
Заголовок сообщения: | Re: #046 Библиотекарь модулей |
Иван Денисов писал(а): ...Так что тут очень уместно сообщение в графическом окне "файл Init не найден". Я думаю, что должно быть что-то типа "Необходимый компонент 'Init' для работы приложения не обнаружен. Убедитесь, что директории подсистем находятся рядом с файлом программы." Да, после чего все найдут Init и скопируют его. И ничего не заработает. Народ одно время и ярлыки копировал в винде вместо файлов на гибкие диски, а потом и на флэшки. |
Автор: | adimetrius [ Четверг, 28 Январь, 2021 12:37 ] |
Заголовок сообщения: | Re: Зачем линковать HostGui в пускач? |
Школьники 8-9 классов - нормальные здоровые люди. Они нормально ожидают, что штука ББ.exe, которую я нажимаю - это и есть вся штука. То, что для работы ББ (или любой другой программы) требуется еще ворох всяких "файлов", которые к тому же могут быть раскиданы там и сям (как в юниксах) - это ненормально. (А кроме файлов могут еще потребоваться настройки в реестре, которые вообще неизвестно, как потрогать руками. Аналогия: автомобиль (микроволновка, телевизор...) состоит из множества подсистем, однако конструктивно исполнен как единое целое. Пользователю не предлагается вникать в его устройство, чтобы переместить из А в Б. Почему же мы от пользователей программ требуем, чтобы они вникали? Системный блок тоже конструктивно исполнен как единое целое. Но у меня на столе (в юности) он всегда состоял из частей, и никогда не был закрыт. Но я не пользователь, я программист. А на столах пользователей я компьютеры всегда аккуратно закрывал и завинчивал (когда был эникейщиком). В айти засилье айтишников )). Которые наивно навязывают пользователям свой образ мышления. Файл - вообще низкоуровневое системное понятие, которое никогда не должно было дойти до пользователя. Он пусть пользуется документами, музыкой, видео, приложениями... А программисты пусть решают, как это хозяйство представить в виде файлов. Примечательно, что в андроиде нет файлов. Даже когда программы устанавливаешь. Как вам такая идея: двинуться в другую сторону, и спрятать в BlackBox.exe ВСЕ файлы? При двухуровневом представлении ФС изнутри ББ получится, что папка PRIMARY - это содержимое BlackBox.exe, а рабочая папка - это SECONDARY. Тогда средствами ОС невозможно нарушить целостность PRIMARY файловой системы ББ (залезть проводником или каким-нибудь коммандером). И его всегда можно запустить из пустой папки. (На линукс, кста, папка PRIMARY в любом случае только для чтения, если ББ устанавливать из пакета: она попадает в /usr/lib) |
Автор: | Борис Рюмшин [ Четверг, 28 Январь, 2021 13:19 ] |
Заголовок сообщения: | Re: Зачем линковать HostGui в пускач? |
adimetrius писал(а): Как вам такая идея: двинуться в другую сторону, и спрятать в BlackBox.exe ВСЕ файлы? При двухуровневом представлении ФС изнутри ББ получится, что папка PRIMARY - это содержимое BlackBox.exe, а рабочая папка - это SECONDARY. Это в общем-то тривиально делается и давно применяется теми, кому это надо (HostPackedFiles). Поэтому я вообще не вижу проблемы. |
Автор: | Иван Денисов [ Пятница, 29 Январь, 2021 04:21 ] |
Заголовок сообщения: | Re: Зачем линковать HostGui в пускач? |
Какой-то уже слишком концептуальный вопрос вы подняли. Надо обдумать. Сам Блэкбокс ведь тоже могут школьники скачивать. И это будет более понятно, если будет ясное понятное сообщение. Не понимаю, почему непонятное молчаливое падение у вас в приоритете. Наверное есть какая-то концепция, чтобы сборка всегда одинаковая была... Но так для разных операционок все равно разные командеры для сборки. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |