OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 22:21

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




Начать новую тему Ответить на тему  [ Сообщений: 62 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Суббота, 23 Апрель, 2016 18:16 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Господа, рад сообщить, что выпущена первая бета версия коллективного Блэкбокса, который родился в ЦКБ (Центре Каркаса Блэкбокс).
http://blackboxframework.org/lastdev
http://blackboxframework.org/lastdev/zip

Список нововведений
Список исправлений


Вот на этой странице я привел несколько типичных изменений, которые нужны для миграции с версии 1.6.
http://wiki.blackboxframework.org/index ... uilder_1.7

Этот список рекомендаций будет пополняться по ходу выявления типичных проблем.

Напоминаю, что доступен пакет русификации меню и форм: http://gitlab.molpit.org/blackbox/russian


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Апрель, 2016 18:49 
Аватара пользователя

Зарегистрирован: Воскресенье, 12 Апрель, 2015 18:12
Сообщения: 1134
Откуда: СССР v2.0 rc 1
Ты кого тут господином обозвал? Да я полдня сегодня на ленинском суботнике убил!

Прошёлся глазами по обоим спискам, смотрю народ шевелится. Dialog.Beep зацепил)))
Ваня, вопрос сопутствующий: если я правильно понимаю, сборка с сайта Цинна опоздывает или вообще не рекомендована?
Можно бетку в бой отправлять?

))) Смотрю, там круче тебя только Джозеф Темпл)

Мышко-отслеживане в отдельном процессе работает?)
Типа, чтобы при длительных процессах ГИП отзывчивый был?

Появился, имхо, полезнейший ключ /PORTABLE. Мультиверсии ББ полезная фишечка)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Суббота, 23 Апрель, 2016 19:14 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
prospero78 писал(а):
Ты кого тут господином обозвал? Да я полдня сегодня на ленинском суботнике убил!

Тут «господа» в значении «джентльмены», т.е. образованные и воспитанные мужчины, почтенные и уравновешенные :)

prospero78 писал(а):
Прошёлся глазами по обоим спискам, смотрю народ шевелится. Dialog.Beep зацепил)))
Ваня, вопрос сопутствующий: если я правильно понимаю, сборка с сайта Цинна опоздывает или вообще не рекомендована?
Большая часть изменений синхронизирована с версией Цинна, но за ней не слежу, так как сконцентрирован на этой работе. Я рекомендую использовать версию Центра, поскольку изменения в ней более тщательно обсуждаются.

prospero78 писал(а):
Можно бетку в бой отправлять?
Ты на таком объекте работаешь, что всё исключительно под твою ответственность :)

prospero78 писал(а):
))) Смотрю, там круче тебя только Джозеф Темпл)
Йозеф (так говорят его имя правильно пишется) сделал основную работу по переносу правок из версии Цинна. В целом, все коммиты вносили только мы с ним в главную ветку, но это не умаляет вклад других участников. К тому-же сам код часто был взят от тех решений, которые предложены многими людьми вне Центра. Авторы и первопроходцы указаны иногда в описании задачи. В исходных кодах эти подробности сознательно опущены.

prospero78 писал(а):
Мышко-отслеживане в отдельном процессе работает?)

Нет, так нельзя делать, иначе рассинхронизируются ввод и вывод. В отдельном процессе только отлавливается Ctrl+Break и запускаются внешние вызовы.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 28 Апрель, 2016 18:25 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
ЦКБ - центральное конструкторское бюро.
Оригинально.


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

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

В бету после выпуска уже добавлено новое исправление для ODBC.


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

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Kubanych писал(а):
ЦКБ - центральное конструкторское бюро.
Оригинально.

Центральная клиническая больница -- тоже неплохо.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 20 Май, 2016 16:08 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
В бете исправляется сейчас еще пара багов.
Также на основе беты обновил Freenix сборку, все взлетело.

Кроме шуток, пишите тут свои отзывы о бете.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Май, 2016 18:08 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Выведен первый автоматический список изменений.
http://blackboxframework.org/unstable/m ... anges.html

Теперь такой список будет формироваться при любом слиянии с главной веткой хранилища.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Май, 2016 18:46 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Не компилируется мой ypkTaskService, на вызов ypkDetails.objList.Length() ругается "this variable is readonly".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Май, 2016 19:08 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пётр Кушнир писал(а):
Не компилируется мой ypkTaskService, на вызов ypkDetails.objList.Length() ругается "this variable is readonly".

С твоей подсистемой я специально возился, чтобы все компилировалось. Вот тут выложил.
http://community.blackboxframework.org/ ... t=ypk#p622

Но у тебя наверное уже своя какая-то более новая версия. Поэтому можешь поправить следуя этим рекомендациям.

В данном случае надо экспортировать переменную, чтобы иметь возможность вызывать методы записи.
Код:
objList*: ObjList;

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Май, 2016 20:48 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Ну вообще, у меня версия с битбакет-репозитория OberonCore, да.
Иван Денисов писал(а):
Тут логика такая, что раз у тебя только для чтения, то методы нельзя вызывать, так как они могут поменять состояние объекта, а он ведь только для чтения.

Хм, какая-то новая семантика. Всегда считал, что read-only объект в данном случае это переменная типа УКАЗАТЕЛЬ НА Что-то. В компиляторе это и есть объект. И его содержимое действительно не менялось раньше. Даже при вызове метода, ресивер остаётся неизменным.

А как вы решили вопрос с Files.dir, например? Там ведь всё ещё есть методы?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Май, 2016 21:36 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пётр Кушнир писал(а):
А как вы решили вопрос с Files.dir, например? Там ведь всё ещё есть методы?

Интересный вопрос. Разбирался сейчас.

В Files не стоит VAR. Видимо в этом дело
Код:
PROCEDURE (d: Directory)

А тут стоит у тебя VAR.
Код:
PROCEDURE (VAR l: ObjList) Length* (): INTEGER, NEW;

То есть l может быть измерен, а он не может быть измерен, так как экспортирован только для чтения.

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

Вроде этот фикс #38 за это отвечает:
http://blackboxframework.org/unstable/m ... #Target_38
http://forum.blackboxframework.org/view ... =205#p2039


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 25 Май, 2016 22:20 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
В случае со статическим объектом типа RECORD в режиме read-only ситуация ещё страннее, ведь у RECORD нет т.н. identity, адрес рекорда я сменить не могу, содержимое рекорда не есть сам рекорд, то есть его я менять могу.

То же самое с параметрами сейчас, да? Если мне приходит ANYREC-сообщение в IN-параметр, я не могу после охраны типа вызвать методы этого сообщения?

Кажется, такое поведение было в GPCP пару лет назад, но потом я автору написал в рассылке, он одумался, и сделал как в ББ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 06:14 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Рекорд и есть его содержимое. Если бы у тебя был указатель только для чтения, то меняй сам рекорд как хочешь, а указатель закреплен. Но если у тебя рекорд только для чтения то его нельзя передавать в виде аргументов с VAR параметрами. На мой взгляд все логично.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 10:34 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Проблема в том, что от замены VAR на IN в ресивере возможность менять содержимое рекорда не исчезает. Да и вообще, непонятно, как быть с полностью экспортированными полями внутри такого рекорда.

Мне кажется, это некорректное изменение семантики модификатора "-".


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 11:08 
Администратор

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 14:32 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Пётр Кушнир писал(а):
То же самое с параметрами сейчас, да? Если мне приходит ANYREC-сообщение в IN-параметр, я не могу после охраны типа вызвать методы этого сообщения?

Кажется, такое поведение было в GPCP пару лет назад, но потом я автору написал в рассылке, он одумался, и сделал как в ББ.


Ну так всё правильно. Те методы, которые описаны как (VAR obj: Obj) Do - не можешь, а те, которые описаны как (IN obj: Obj) Do - можешь.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 16:00 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Тогда этот IN должен мешать мне менять содержимое рекорда.
Короче, не очень понятно, если для ресивера метода записи семантика IN и VAR в данный момент не отличается, так как рекорд не получится перенацелить на другую область памяти, то надо менять либо режим read-only либо IN.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 18:12 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Пётр, я проверил, что нельзя поменять поля записи, если у тебя стоит IN.
Вложение:
testExport.png
testExport.png [ 11.17 КБ | Просмотров: 13957 ]


Так что все четко в этом плане. Если запись только для чтения, то её можно передать только в IN, который в свою очередь проверит, что поля записи никто не меняет.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 26 Май, 2016 21:29 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Ага, значит это тоже починили. Ну ок.


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

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


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

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


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

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