Info21 писал(а):
Толпа знает про .НЕТ, вот они толпе про .НЕТ и говорят.
Иван Кузьмицкий писал(а):
Мне же сидеть на 1.5 мешает его неюникодность, поэтому и осматриваюсь. Плюс, сайт Зинна заточен под 1.6, синергетика как никак.
Тогда просьба: как-нибудь бы опыт перехода зафиксировать?
Для будущих нужд Информатики-21
Проект перехода завершён, выкладываю журнал перехода (см. скриншот в конце страницы).
Проект "Переход на 1.6"Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Скачал и установил BB 1.6rc6.
Взял здесь:
http://www.oberon.ch/zip/SetupBlackBox16-rc6.exeКонвертирование сосдоков делаю в Community, там есть настроенный конвертер в подсистеме BBt (Ивана Горячева).
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Начал с подсистемы Grid. Проблема с Mt.
Цепочка - Grid затребовала Abf, а там есть модуль MtChars, который не компилируется в 1.6, по причине юникодности буквы Ё.
Попробую залить Abf из SVN
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Скачал Abf для 1.6:
https://svn.oberoncore.ru/community/Com ... nches/1.6/Откомпилировал в 1.6rc6, всё в порядке.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Заново начал переход.
Завёл папку dev/bb16 и из репозитория
https://svn.oberoncore.ru/community/Com ... anches/1.6 залил туда Abf.
Попутно прилетела и Xmlcore, что порадовало. Проверил, в модуле XmlcoreHost заглушку National - выключена, как и положено для 1.6.
Пакетный файл для запуска ББ:
Цитата:
d:
cd "D:/programs/BlackBox 1.6 rc6"
start BlackBox.exe /NOSCROLL /Use d:devb16
Поставил отдельно BB Community, для конвертации документов.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Перенос Abf в корневой каталог.
В USE-каталоге Abf не работает, пришлось перенести в корневую папку BB. Туда же переехал и Xmlcore.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Перенос Grid успешно завершён.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Перенос Stern.
1. Потребовалась подс. Lists, успешно перенесена.
2. SternSql, нужна MtMeta. Задействовал SternMeta как замену (там есть копипасты из MtMeta).
3. SternStrings, добавил процедуру капитализации русских символов Cap, т.к. стандартные CAP и Strings.Upper работают только с latin-1.
4. Убран SternMappers (имеет зависимости к MtMem, National, но исп. только в Guard) как незатребованный и легковоспроизводимый при необходимости.
5. Модуль SternSOCKS4 (используется в SternProxyCmds, а тот - в Xmpp) импортирует SystemSymWinsocks, а в 1.6 такого файла нет.
6. Подсистема Stern конвертирована почти полностью, затыки остались только в SternSOCKS4, SternTbe, SternTbedit. Последние два модуля устарели.
7. В модуле SternSOCKS4 заменил импорт Winsocks на WinNet, после чего модуль откомпилировался нормально.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Перенос Projector.
Убираю зависимости от Mt и переношу соответствущие модули в Stern.
Наткнулся на модуль ProjectorPassword, в котором русские идентификаторы. Не компилируется, пришлось переводить на англ.
В модуле Projector.BrowseSec используется MtMem.ZeroRec. Очень полезная процедура, но как она работает в 1.6 - неизвестно. Пока оставил в Mt, до конца прохождения.
Оставил зависимость от MtDates, очень полезный модуль
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Подсистема Kladr.
Модуль KladrSys, использование National. Избавился от National-преобразования.
KladrCombo требует подсистему Controls.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Драйвер MyODBC 5.1.
Позволяет не заморачиваться с преобразованием из UTF в UCS2.
Русские буквы получаются нормально.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Нашёл ошибку в драйвере SqlODBC3.
Метод таблицы (t: Table) ReadString вызывается, если надо прочесть значение поля типа Char (строка фиксированной длины). При этом, неверно определяется длина строки, которую надо указать в байтах, а передаётся кол-во символов.
Умножил LEN(str) на 2 и строки стали читаться правильно, с точностью до символа.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Проектор успешно работает.
Можно считать, переход на 1.6 свершился.
Остальные проекты будут переноситься постепенно.
Период события с 22.05.2010 12:24:00 по 22.06.2011 12:24:00Модуль MtChars.
На подсистему Mt довольно многое завязано. По возможности, избавлялся от зависимостей, но в конце концов упёрся в MtScroller и в MtDialog, откуда цепочка зависимостей опять приводит к MtChars.
А в этом модуле, преобразователи ToUpper и ToLower используют 256-значную таблицу символов, в которую код буквы Ё не помещается.
P.S. Только сейчас заметил - периоды событий экспортировались неверно, везде одна и та же дата!
Ну ничего, все даты на скриншоте видны.