об этой конфигурации Блэкбокса/di21_readme.odc

    di21 

[В новой базовой версии (2012) сделан ряд модификаций.
Инструкции по сборке см. в документе 
"   2012   -21.odc"
в папке
"   ".

info21, 2012-09-30]



От 2009-10-17  BlackBox Component Builder 1.5

  ..   -21 (http://www.inr.ac.ru/~info21/)    Delta,    2008 .    "" (http://oberoncore.ru). 
    di21: 
	2009-10-17: модифицированы модули DevSearch, DevReferences,
	   ,
	   (.     DevCompiler.CompileThis;    . ),
	 .    System/Rsrc/About.odc,
	  .
   Delta       -21.

 di21,     -21,  ** **.

***********************************************************************

   di21   .

--0--
,  BlackBox     SetupBlackBox15.exe (6.59MB),        Oberon microsystems, Inc. (http://www.oberon.ch/zip/SetupBlackBox15.exe), , , : http://www.inr.ac.ru/~blackbox/rsrc/SetupBlackBox15.exe.

--1--
     "C:\Program Files\BlackBox Component Builder 1.5";       BlackBox.exe.      .

--2--
       , , C:\BlackBox.2. 
    .
     di21. 
         Dev, Host, ...,
   di21_readme.txt ( )  di21_readme.odc.

--3--
     (lnk)    BlackBox.exe.
  (Ctrl+Enter).
    (   Target)     ,  :

"C:\Program Files\BlackBox Component Builder 1.5\BlackBox.exe"

       

/Use "C:\BlackBox.2"

      :

"C:\Program Files\BlackBox Component Builder 1.5\BlackBox.exe" /Use "C:\BlackBox.2"

     (   Start in)  "C:\BlackBox.2"
      :

"C:\BlackBox.2"

  .

--4--
       ,      (Ctrl+O  File, Open)     . 
  di21_readme.odc,     ,           .

--6--
   :     (    ;   National        .),   OK        (     ;        ): 

DevCompiler.CompileThis 
National Kernel HostFiles
Config Controls Dialog Meta Strings
HostPrinters HostDialog HostFonts HostWindows HostMenus HostPackedFiles HostPorts HostTextConv
DevCommanders DevCPS DevDebug DevMarkers DevPacker DevRBrowser DevSubTool DevReferences DevSearch 
OleData
SqlDB SqlControls
StdCmds StdInterpreter StdScrollers
TextControllers TextMappers TextSetters
XhtmlEntitySets

--7--
   BlackBox.exe    :

DevLinker.Link
BlackBox.exe := National Kernel$+ Files HostFiles StdLoader
1 Applogo.ico 2 Doclogo.ico 3 SFLogo.ico 4 CFLogo.ico 5 DtyLogo.ico
1 Move.cur 2 Copy.cur 3 Link.cur 4 Pick.cur 5 Stop.cur 6 Hand.cur 7 Table.cur

  Log   :
BlackBox.exe written  87040  39826

        BlackBox.exe.

       di21_readme.txt   .

--8--
 .

--9--
      Code ( :      Config.ocf ... Strings.ocf)  Sym ( :       National.osf)   System (..    ).            .

--10--
      ,    (     ,  ).
        (   BlackBox.exe),        ,   ,       di21.

P          (открыв, например, данный документ),   при нажатии Ctrl+стрелки влево/вправо    ,  "яь"   , , , . 
             ,  ,     .

***************************
***************************
***************************
Пакет исправлений "Дельта" (Service Pack 4.10) от 01.01.2008
для BlackBox Component Builder 1.5


Данный  пакет является заключительным (мы на это надеемся!) крупным набором исправлений  для  BlackBox 1.5.

Изменения в данном пакете, по сравнению с SP 3.10/4.01

	- полностью убрана вся синхронизация от Active BlackBox;
	- убран навигатор исходного кода и браузер интерфейсов (будет отдельным пакетом);
	- внесены исправления в модуль XhtmlEntitySets, для правильного экспорта русского языка в UTF-8, предыдущие изменения (3.03) не имели никакого смысла;
	- внесены исправления от Александра Ильина, за исключением Sequensors.notRecordered, т.к. правка не является исправлением ошибки, однако затрагивает несколько модулей каркаса и расширяет интерфейс некоторых из них;
	- исключён модуль StdStamps, русификация сделанная в нём перекрывается сразу двумя общими правками в подсистеме Host;
	- оставлено единственное отклонение от оригинала - поддержка /FULLSCREEN, хотя и не имеющее особой значимости;
	- все модули имеющие отношение к пакету промаркированы меткой (* SP410 *)

Чтобы закрыть серию пакетов исправлений, данный пакет имеет только название "Дельта" и не имеет версии (разве что дата выпуска), хотя имеет внутреннюю версию 4.10.


История изменений

В Service Pack 4 вошли самые последние исправления и дополнения для среды разработки BlackBox Component Builder версии 1.5. Значительная их часть ориентирована на адаптацию среды к разработке многопоточных приложений. Непосредственно для такой разработки требуется специальная версия системы времени выполнения. Такая версия нами разработана и носит название Active BlackBox - ее можно получить на нашем сайте blackbox.metasystems.ru. Service Pack 4 позволяет разрабатывать синхронизированные, потокобезопасные модули, которые будут работать без перекомпиляции в обоих версиях среды.

		Добавлены новые средства:
		- модуль примитивов для синхронизации потоков Synch и модуль реализации HostSynch;
		- синхронизированные потокобезопасные модули BlackBox Framework;
		- модуль Mem - для работы с массивами переменной длины, буферизующими фабриками объектов и информацией о сигнатурах процедур;
		- навигатор исходного кода и усовершенствования браузера интерфейсов;
		- полноэкранный режим главного окна среды;
		- модули DevTerminal и DevTrace - для работы с отладочной консолью и трассировки контрольных точек программы, удобны для отладки сложных многопоточных приложений.

		Внесены исправления:
		- модуль StdScrollers - устранено интенсивное выделение памяти при редактировании отображений-контейнеров внутри блока прокрутки.

		Также вошли все исправления из предыдущих пакетов исправлений.Добавлены новые средства:

		Синхронизированные потокобезопасные модули

			Все основные модули каркаса были переработаны для применения в многопоточных приложениях. Однако потокобезопасность допускает только то, что к процедурам модуля одновременно могут обращаться несколько потоков. Это не допускает (если явно не оговорено иное) того, что несколько потоков могут работать одновременно с одним экземпляром какого-либо типа из этих модулей. Для такой работы требуется написание собственного кода синхронизации, на основе Synch. Например, если несколько потоков могут работать с одной текстовой моделью, то программист должен самостоятельно обеспечить для них взаимное исключение, применив критическую секцию Synch.CriticalSection. Также следует соблюдать следующее правило - инсталляция каталожных объектов (Directories) в модули каркаса должна выполняться только из главного потока.

			Ниже приведен перечень потокобезопасных модулей. Другие модули также могут быть потокобезопасными, однако мы не выполняли их верификацию. Если около имени модуля стоит звездочка, это значит, что он был доработан.

Files и реализация HostFiles ;
Fonts и реализация HostFonts ;
Ports и реализация HostPorts ;
Log ;

*Services - используя Services, параллельные потоки могут ставить в очередь на исполнение отдельные действия, которые будут выполнены в контексте главного потока;

*Meta, *Stores, Mem ;
Strings, Dates, Math, SMath, *Integers ;
Converters ;

модули графического интерфейса
*Models, *Views, Properties, Containers
могут использоваться параллельными потоками для работы только с теми объектами, которые не открыты на экране, то есть, не подключены к экранным кадрам и шинам сообщений среды;
все графические операции и команды пользовательского интерфейса могут выполняться только в контексте главного потока среды, либо в момент блокировки главного цикла сообщений между Synch.BeginOberonSafe и Synch.EndOberonSafe. Параллельные потоки для работы с графическим интерфейсом могут либо использовать эти процедуры, либо ставить необходимые действия на очередь в модуль Services, для исполнения в контексте главного потока среды;

*StdLog, *StdDebug, StdInterpreter и Dialog.Call ;
*TextModels, TextMappers ;

*DevDebug, *DevHeapSpy, DevTerminal, DevTrace .Синхронизированные потокобезопасные модули

		Навигатор исходного кода и усовершенствования браузера интерфейсов

Сделано несколько доработок, повышающих удобство работы с исходными текстами модулей.
В модуле DevReferences реализован навигатор по исходному коду. Добавьте в меню перед пунктом Source следующую команду:
					"&Open Navigator"	"G"	"DevReferences.OpenNavigator"	""
Теперь по сочетанию клавиш Ctrl-G будет открываться панел навигации по коду. Панель подключается к переднему открытом окну, в котором редактируется исходный код модуля. В панели в секции TYPEs показываются все типы, объявленные в модуле, и их связанные процедуры, в секции PROCEDUREs - все глобальные процедуры модуля. Сущности показываются в том порядке, в каком они определены в модуле. Экспортированные элементы помечаются жирным шрифтом. По щелчке на элементе происходит перемещение к тому месту, где он определен. При активации другого окна навигатор автоматически подключается к нему. При изменении текста модуля с добавлением или удалением типов и процедур нужно нажать ссылку Update в окошке навигатора, чтобы обновить информацию в нем.
 В модуль DevBrowser внесены изменения, сделавшие работу с браузером интерфейсов модулей более удобной. Теперь имена всех типов и процедур являются ссылками, по которым можно перейти сразу к нужному месту либо исходного текста модуля, либо его документации. Цель ссылок меняется переключателем в верхнем правом углу каждого окна браузера. Можно также отключить ссылки вообще, например, если описание из браузера должно быть скопировано в какой-либо документ.Навигатор исходного кода и усовершенствования браузера интерфейсов

		Полноэкранный режим главного окна среды

Доработаны модули HostWindows и HostMenus для поддержки полноэкранного режима главного окна MDI. Для запуска среды в полноэкранном режиме нужно использовать ключ командной строки /FULLSCREEN.


Ключи командной строки
Ключи командной строки могут быть также прописаны в файле System/Rsrc/CommandLine.txt следующего вида:

							COMMANDLINE
							/ключ1
							/ключ2
							...
							
BlackBox использует следующие ключи командной строки:
	/USE dir	использовать каталог dir как рабочий профиль (см. Руководства пользователя - Среда - Серверная установка). Если dir содержит пробелы, то должна быть взята в кавычки;
	/NOAPPWIN	главное окно MDI не создается. Приложение состоит только из инструментальных диалогов (tool dialogs), открываемых командой StdCmds.OpenToolDialog.
	/FULLSCREEN	главное окно MDI открывается в полноэкранном режиме;
	/FULLSIZE	главное окно MDI открывается максимального размера;
	/NOSCROLL	главное окно MDI не использует полосы прокрутки;
	/LTRB l t r b	размещает окно на экране в прямоугольнике (l, t, r, b);
	/LANG lang	после запуска Dialog.language устанавливается в lang;
	/PAR par	устанавливает Dialog.commandLinePars в par. Если par содержит пробелы, то должен быть взят в кавычки;
	/LOAD modName	после запуска среды загружает модуль modName. Параметр /LOAD может встречаться несколько раз;
	/O fileName	после запуска среды открывает файл fileName. Параметр /O может встречаться несколько раз.Полноэкранный режим главного окна среды


В Service Pack 3.10 вошли все предыдущие изменения по русификации, в том числе  так и не вышедший Service Pack 3.05. Проведена ревизия модулей. Из пакета  исключены модули обновляющие BlackBox 1.5 BETA к Release. Теперь пакет исправлений относится только к Release версии!


Service Pack 3.05 (16.05.2006) НЕ включает в себя Service Pack 3 - установите его отдельно!

В версию 3.05 вошли следующие изменения:

System/Dialog - исправлены процедуры MapString/MapParamString. В транслируемой строке перед сопоставлением с ключами русские символы приводятся к однобайтовой кодировке cp1250, так как таблицы ресурсов Strings загружаются именно в ней.

Host/Dialog - исправлен вывод в строку состояния для совместной работы с Dialog.MapString.

Xhtml,  Host/TextConv, Host/Ports, Host/Fonts - исправления из Service Pack 3.04.

Service Pack 3.04

Host/Ports - исправление процедуры Frame.DrawString для корректной работы с русским текстом.
Host/Fonts - аналогично для Font.StringWidth.


Service Pack 3.03

Xhtml/EntitySets - исправление для правильного экспорта русского текста. Xhtml экспортирует текст в кодировке UTF-8.


Service Pack 3.02

Host/TextConv - исправления, окончательно решающие проблемы с русским текстом при сохранении в форматах .txt и .rtf, а также при копировании через буфер обмена с внешними приложениями. Также доработана загрузка русских текстов в DOS-кодировке.

ПРИМЕЧАНИЕ: корень проблемы в том, что в текстах в BlackBox русский текст часто оказывается в смешанной кодировке - копируемый через буфер или импортируемый из внешних форматов - в Unicode, а вводимый с клавиатуры  в Windows CP1251, т.к. BlackBox использует A-версии API-функций. Скорее всего, в версии 1.6 разработчики перейдут на W-версии API-функций, что снимет проблему разнобоя в кодировках.


Service Pack 3.01

Host/TextConv - предварительные исправления, решающие проблемы с русским текстом при сохранении в форматах .txt и .rtf, а также при копировании через буфер обмена с внешними приложениями (для буфера обмена исправление, видимо, не окончательное).


Service Pack 3

включает в себя все доступные на сегодняшний день исправления, связанные с русификацией + мелкие изменения, внесенные Oberon Microsystems при переходе от версии 1.5 BETA к RELEASE. Пакет может устанавливаться как поверх RELEASE, так и поверх BETA - в любом случае выполучите RELEASE со всеми исправлениями.

Изменения, внесенные в RELEASE Oberon Microsystems и вошедшие в Service Pack 3:

.\blackbox.exe.manifest (new file):
manifest file for BlackBox.exe; enables Windows XP look & feel
.\empty.odc (new file):
allows the creation of new documents by right-click from the
Windows Explorer
.\host\mod\ports.odc:
Bezier algorithm corrected
.\sql\mod\odbc.odc:
handling of case WinSql.SQL_ERROR changed
.\sql\mod\odbc3.odc:
handling of case WinSql.SQL_ERROR changed
.\std\mod\scrollers.odc:
corrections in InnerFrame and its clients
.\system\mod\dialog.odc:
additional Update procedures
.\system\mod\stores.odc:
corrections in ThisId and ThisBaseId
.\xhtml\mod\entitysets.odc:
procedure MapCharToEntity corrected
.\xhtml\mod\stdfilewriters.odc:
procedures New and Writer.DocType corrected 

Также были внесены некоторые исправления в документацию и меню, но они в SP не вошли. Закачайте полную версию BlackBox 1.5 с сайта oberon.ch.


Изменения, впервые внесенные в Service Pack 2.01 ООО ОЦПИ "Метасистемы" (включены в Service Pack 3):

- Важное исправление модулей Dialog и HostDialog, исправляющее ошибку, допущенную в SP2, и таким образом окончательно решающее проблему русских символов в строке состояния.

Изменения, впервые внесенные в Service Pack 2 ООО ОЦПИ "Метасистемы":

	1. При редактировании мы опирались на исходный код, исправленный в целях русификации И. Горячевым и Ф. Ткачевым (мы называем эти изменения Service Pack 1, см. ниже).
	2. В пакет включены исходные тексты и кодовые файлы BlackBox. Просто скопируйте их в директорию BlackBox. В исходных текстах содержится комментарий и выделение цветом мест, которые были нами исправлены.

	3. Мы внесли в исходный код BlackBox следующие исправления:

Подсистема Sql
	1) Controls - русификация. Таблицы БД теперь корректно отображают русский текст.
	2) DB - русификация. Теперь препроцессор "понимает" русские имена переменных. Переделано разворачивание переменных типа Date - вместо формата гггг/мм/дд используется формат гггг-мм-дд, более стандартный для SQL. (В нашем случае причиной "глюков" был MySQL 4.1. На обычных запросах он нормально отрабатывает оба формата даты, а на сложных вложенных первый формат по необъяснимым причинам не распознается.

Подсистема Host
	1) Dialog.ShowParamStatus - Win-API вызов заменен Unicode-версией. Теперь строка статуса "понимает" кирилицу.
	2) Dialog.PrintDialog,  Dialog.PrintSetup - добавлен код для поддержки автоориентации страницы. Сама автоориентация выполняется  подсистемой Mt_pub, которая распространяется отдельно.
	3) Fonts.Init - исправлен параметр CHARSET с 0 на 1 для правильной работы с кириллицей.
	4) Printers - добавлена процедура GetPrinterDev, считывающая текущие установки принтера. Необходимо для поддержки автоориентации  страницы подсистемой Mt_pub.

Подсистема System

	1) Dialog - убрано ограничение на занесение пустой строки в список. Если в SetItem передается пустая строка, в список заносится " ".

	2) Config - вставлен блок
			HostDialog.InitPrefDialog;
			HostDialog.PrefOk;
			StdCmds.CloseDialog.

Это приводит к тому, что при первом же запуске среды настройки шрифтов сохраняются в реестр. Это решает проблему, при которой на "чистой" машине для нормального отображения русского текста надо хотя бы раз выбрать шрифты в диалоге настроек.

	3) USERB - заголовки Unicode-версий WinAPI. Пока только одна функция.

Замечания по русификации ("Service Pack 1").

Замечания
Ф.В.Ткачев 2005-06-25

0.	На данный момент не рекомендуется использовать средства модуля National в прикладных программах.
1.	Сделана именно русификация, а не "кириллизация".
2.	Во всех модулях И.Горячева выполнено мелкое редактирование для приведения к согласию с рекомендациями БлэкБокса.
3.	В модуле National закомментировано или спрятано все, что введено "на всякий будущий случай", т.е. все, что не используется в русификации модулей БлэкБокса.


Русификация BlackBox 1.5 BETA

Версия от 19.05.2005
И.Н.Горячев

Понимает все русские буквы ("ё" в том числе) в идентификаторах и именах файлов. Предполагается кодировка Win-1251.

Добавлен модуль:
	National
	
Исправлены модули:
	Controls
	Kernel
	Meta
	Strings
	Dialog
	DevCommanders
	DevCPS
	DevDebug
	DevPacker
	DevRBrowser
	DevMarkers
	DevSubTool
	HostFiles
	HostMenus
	HostPackedFiles
	StdCmds
	StdInterpreter
	StdStamps
	TextMappers
	TextSetters
	
Примечания:
	Исправления выделены синим цветом.
	В модулеях Controls и HostMenus не реализована поддержка русских горячих клавиш - мне кажется это будет лишним, да и не факт, что вообще заработает с пол-оборота.
	Добавлена возможность назначать пунктам меню сочетания с клавишей BackSpace. В файлах меню она обозначается как "Bs" (на самом деле как "B"+любые другие символы). Просто я настолько привык к этому сочетанию, что без него - сплошное мучение. Рука сама тянется.
	Очень грубые исправления модулей DevMarkers, Dialog и StdStamps для корректного отображения русских символов.
	
Blackbox.exe должен теперь собираться командой:

DevLinker.Link
BlackBox.exe := National Kernel$+ Files HostFiles StdLoader
1 Applogo.ico 2 Doclogo.ico 3 SFLogo.ico 4 CFLogo.ico 5 DtyLogo.ico
1 Move.cur 2 Copy.cur 3 Link.cur 4 Pick.cur 5 Stop.cur 6 Hand.cur 7 Table.cur


(с) 2008 OberonCore
(с) 2005-2008 Горячев И.Н., Ткачёв Ф.В., Ильин А.С., Marco Ciot
(с) 2006, 2007 ООО ОЦПИ "Метасистемы"
(с) 1994-2006 Oberon Microsystems AG

Все права на исходный код принадлежат Oberon Microsystems AG
Пакет свободен для распространения и использования на условиях BlackBox Open Source License

Мы распространяем ПО без всяких явных или подразумеваемых гарантий. Вы используете его на свой страх и риск.