OberonCore https://forum.oberoncore.ru/ |
|
Abf - Advanced BlackBox Framework https://forum.oberoncore.ru/viewtopic.php?f=90&t=269 |
Страница 1 из 2 |
Автор: | Илья Ермаков [ Воскресенье, 09 Июль, 2006 23:41 ] |
Заголовок сообщения: | Abf - Advanced BlackBox Framework |
Опубликован первый выпуск Advanced BlackBox Framework - Open-Source-проекта, цель которого - расширение стандартного каркаса BlackBox дополнительными средствами, такими как работа с мультимедиа, графика, параллельные вычисления, базы данных, перманентные хранилища и т.п. Ссылка удалена, см. сайт http://oberoncore.ru/ 06.07.2011 размещено в коллекции: http://oberoncore.ru/bbcc/subs/abf/ |
Автор: | Ира [ Вторник, 11 Июль, 2006 08:49 ] |
Заголовок сообщения: | |
При установке библитеки Abf произошла ошибка - модуль AbfMediaCmds вызывает процедуру Dialog.UpdateString(...). Итого сообщение - undeclared identifier. В интерфейсе модуля Dialog нет такой процедуры. |
Автор: | Иван Горячев [ Вторник, 11 Июль, 2006 09:13 ] |
Заголовок сообщения: | |
Эти Dialog.UpdateЧегото завелись где-то в сервиспаках. В версии 1.5beta их нет. Хотя в 1.5 уже есть. |
Автор: | Ира [ Вторник, 11 Июль, 2006 09:41 ] |
Заголовок сообщения: | |
Точно, на 1.5 стала, а на 1.5beta улучшеной до 1.5 библиотеками bb_sp3 и bb_sp303 не стала, хотя в описании к ней говорилось, что при ее установке "в любом случае вы получите RELEASE со всеми исправлениями". |
Автор: | Борис Рюмшин [ Среда, 12 Июль, 2006 09:50 ] |
Заголовок сообщения: | |
Последний сервиспак (3.1) уже не поддерживает переход от беты к релизу. |
Автор: | Иван Кузьмицкий [ Понедельник, 19 Май, 2008 10:29 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Такой вопрос - как программно установить прозрачность картинки, и прозрачный цвет? Через диалоговое окно устанавливается, а программно не хочет. Я делаю так: Код: TYPE
Bitmap* = POINTER TO RECORD c: FormControllers.Controller; v: AbfMedia.View; l,t,b,r: INTEGER; END; PROCEDURE NewBitmap*(path: ARRAY OF CHAR): Bitmap; VAR b: Bitmap; prop: AbfMedia.BrowseProp; BEGIN NEW(b); prop := AbfMedia.NewBrowseProp()(AbfMedia.BrowseProp); prop.transColor := 0; prop.transparent := TRUE; b.v := AbfMedia.dir.NewWithProp(prop); b.v.SetLink(path); RETURN b; END NewBitmap; |
Автор: | Иван Кузьмицкий [ Четверг, 22 Май, 2008 08:17 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Если вручную добавлять свойство, то прозрачность включается: Код: PROCEDURE EnableTransparency*(v: Views.View; color: INTEGER);
VAR setmsg: Properties.SetMsg; prop: AbfMedia.BrowseProp; BEGIN prop := AbfMedia.NewBrowseProp()(AbfMedia.BrowseProp); prop.transColor := color; prop.transparent := TRUE; prop.valid := {AbfMedia.optTransparent, AbfMedia.optTransColor}; prop.known := prop.valid; setmsg.prop := prop; Views.HandlePropMsg(v, setmsg); END; |
Автор: | Иван Кузьмицкий [ Понедельник, 14 Июль, 2008 18:41 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Использую AbfMedia для создания командной кнопки (текст + иконка). Когда кнопка в режиме "disable", то для обозначения этого режима можно было бы переключить цвет иконки в "GrayScale" (такой подход проще, чем использовать дополнительные картинки для каждого режима кнопки.). Библиотека FreeImage такую возможность предоставляет, среди прочих конвертирующих функций есть функция FreeImage_ConvertToGreyscale. Но такой функции в заголовках AbhostFreeImage я не нашёл. Вообще, в библиотеке масса интересных вещей для манипуляции с изображением. Как вообще планируется развитие Abf в этом плане? Я бы поучаствовал... |
Автор: | Борис Рюмшин [ Понедельник, 14 Июль, 2008 19:14 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Иван Кузьмицкий писал(а): Как вообще планируется развитие Abf в этом плане? Я бы поучаствовал... Думаю развитие выльется в перенесение Abf в репозиторий (из внутреннего) и открытие его для изменений. Что скажет автор? |
Автор: | Илья Ермаков [ Понедельник, 14 Июль, 2008 20:31 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Четырьмя лапами за Валяйте! |
Автор: | Иван Кузьмицкий [ Понедельник, 14 Июль, 2008 22:03 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
А секретное слово дадут? |
Автор: | Илья Ермаков [ Понедельник, 14 Июль, 2008 22:04 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
В смысле? |
Автор: | Иван Кузьмицкий [ Понедельник, 14 Июль, 2008 22:14 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Для доступа к репозиторию. Он ведь открыт только для чтения, или я что-то пропустил? |
Автор: | Илья Ермаков [ Понедельник, 14 Июль, 2008 22:57 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Так Борис обещал переместить его! Короче, ребята, разбирайтесь там с репозиториями сами, я за этим не слежу - вот уже запутался |
Автор: | Борис Рюмшин [ Понедельник, 14 Июль, 2008 23:34 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Илья Ермаков писал(а): Так Борис обещал переместить его! Короче, ребята, разбирайтесь там с репозиториями сами, я за этим не слежу - вот уже запутался Не так быстро... |
Автор: | Борис Рюмшин [ Вторник, 15 Июль, 2008 00:26 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Борис Рюмшин писал(а): Илья Ермаков писал(а): Так Борис обещал переместить его! Короче, ребята, разбирайтесь там с репозиториями сами, я за этим не слежу - вот уже запутался Не так быстро... Готово. |
Автор: | Пётр Кушнир [ Пятница, 05 Декабрь, 2008 23:50 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
При использовании ABF столкнулся с багом: Создаю форму. Бросаю ABF-объект. Задаю в свойствахпуть к картинке. Пытаюсь сохранить - получаю тряп: Код: TRAP 21 (precondition violated) Stores.Join [00003067H] .d0 Stores.Domain NIL .d1 Stores.Domain NIL .s0 Stores.Store [019597C0H] .s1 Stores.Store NIL AbfProperties.SaveList [00000614H] .aliens AbfProperties.Alien NIL .list Properties.Property [01959340H] .s AbfProperties.Store [019597C0H] .sa Stores.Alien NIL .wr Stores.Writer fields AbfMedia.StdView.Externalize [00001B58H] .msg Properties.PollMsg fields .props Properties.Property NIL .rd Files.Reader NIL .v AbfMedia.StdView [018C3FD0H] .wr Stores.Writer fields Stores.Writer.WriteStore [00002C5DH] .pos INTEGER 382 .pos1 INTEGER 433 .pos2 INTEGER 441 .save Stores.WriterState fields .t POINTER [647C06B4H] .wr Stores.Writer fields .x Stores.Store [018C3FD0H] Views.WriteView [00001117H] .a Views.TrapAlien NIL .av Views.View [018BCD70H] .op INTEGER 3 .v Views.View [018C3FD0H] .wr Stores.Writer fields FormModels.StdModel.Externalize [000002E0H] .c FormModels.StdContext [01AD0DE0H] .f FormModels.StdModel [01AA3EC0H] .wr Stores.Writer fields Stores.Writer.WriteStore [00002C5DH] .pos INTEGER 307 .pos1 INTEGER 364 .pos2 INTEGER 372 .save Stores.WriterState fields .t POINTER [645401B8H] .wr Stores.Writer fields .x Stores.Store [01AA3EC0H] Containers.View.Externalize [000002FAH] .v Containers.View [018BCD70H] .wr Stores.Writer fields Stores.Writer.WriteStore [00002C5DH] .pos INTEGER 239 .pos1 INTEGER 292 .pos2 INTEGER 300 .save Stores.WriterState fields .t POINTER [64560164H] .wr Stores.Writer fields .x Stores.Store [018BCD70H] Views.WriteView [00001117H] .a Views.TrapAlien NIL .av Views.View NIL .op INTEGER 3 .v Views.View [018BCD70H] .wr Stores.Writer fields Documents.Model.Externalize [00000CCAH] .m Documents.Model [018B3EE0H] .wr Stores.Writer fields Stores.Writer.WriteStore [00002C5DH] .pos INTEGER 134 .pos1 INTEGER 222 .pos2 INTEGER 230 .save Stores.WriterState fields .t POINTER [625D03F0H] .wr Stores.Writer fields .x Stores.Store [018B3EE0H] Containers.View.Externalize [000002FAH] .v Containers.View [018B3F20H] .wr Stores.Writer fields Stores.Writer.WriteStore [00002C5DH] .pos INTEGER 4 .pos1 INTEGER 119 .pos2 INTEGER 127 .save Stores.WriterState fields .t POINTER [625D01E4H] .wr Stores.Writer fields .x Stores.Store [018B3F20H] Documents.ExportDocument [0000370EH] .f Files.File [019577D0H] .s Stores.Store [018BCD70H] .v Views.View [018B3F20H] .w Stores.Writer fields Converters.Export [0000042FH] .conv Converters.Converter [01999D10H] .file Files.File [019577D0H] .loc Files.Locator [019575B0H] .name Files.Name "untitled.odc" ... .ok BOOLEAN TRUE .res INTEGER 642 .s Stores.Store [018BCD70H] .val Converters.ExpVal fields HostCmds.SaveWindow [00000434H] .conv Converters.Converter [01999D10H] .i INTEGER 1643249680 .loc Files.Locator [019575B0H] .name Files.Name "untitled.odc" ... .rename BOOLEAN TRUE .stat BOOLEAN FALSE .title Views.Title 1X ... .v Views.View [018BCD70H] .w Windows.Window [018BD840H] HostCmds.Save [000005A7H] .w Windows.Window [018BD840H] При дальнейших попытках обнаружил, что если объект положить уже после, например, кнопки, то сохранение проходит нормально. В итоге получилось, что сохранение глючит только тогда, когда ABF-объекта первый на форме. По тряпу локализовал подозрительное место модуля AbfProperties: Код: PROCEDURE SaveList* (VAR wr: Stores.Writer; list: Properties.Property; aliens: Alien); VAR s: Store; sa: Stores.Alien; BEGIN WHILE list # NIL DO NEW(s); s.prop := list; Meta.GetItem(s.prop, s.item); GetProcs(s.item, s.procs); IF (s.procs.int # NIL) & (s.procs.ext # NIL) & (s.procs.dir # NIL) THEN Stores.Join(s, wr.writtenStore); (** ВОТ здесь, wr.writtenStore = NIL всегда, когда проявляется ошибка **) wr.WriteStore(s) END; list := list.next END; WHILE aliens # NIL DO sa := Stores.CopyOf(aliens.store)(Stores.Alien); Stores.Join(sa, wr.writtenStore); wr.WriteStore(sa); aliens := aliens.next END; wr.WriteStore(NIL) END SaveList; Я не силён в Stores пока (пока). Прошу помощи. UPD. Как оказалось - ключевое слово "на форму". В случае с текстовым документом всё проходит нормально. |
Автор: | Илья Ермаков [ Суббота, 06 Декабрь, 2008 00:36 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Трэп 21 у Join - это когда второй объект = NIL. Т.е. в данной ситуации wr.writtenStore = NIL (раньше ничего не записывалось). Как-то это... Странно.... Ведь Writer приходит от формы. Может быть, какие-то особенности форм (используется доп. Writer или что ещё). Можете попробовать поставить охрану IF wr.writtenStore # NIL... Если это не даст дальнейших эффектов. Хотя не должно. P.S. В принципе, спорно сделан Join, нематематично. Алгебраически NIL для операции объединения находится в область определения, является её нулевым элементом. Надо было ожидать, что эта операция с нулевым операндом будет на практике естественным образом возникать. |
Автор: | Пётр Кушнир [ Суббота, 06 Декабрь, 2008 00:44 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Илья Ермаков писал(а): Можете попробовать поставить охрану IF wr.writtenStore # NIL... Если это не даст дальнейших эффектов. Хотя не должно. Пробовал. Эффекты возникают в Stores.Writer.WriteStore(). Срабатывает АССЕРТ 21, что то связанное с доменами. Кстати, у s домен вообще NIL. |
Автор: | Илья Ермаков [ Суббота, 06 Декабрь, 2008 00:57 ] |
Заголовок сообщения: | Re: Выпущен Advanced BlackBox Framework |
Надо посмотреть и разобраться. На выходных гляну. |
Страница 1 из 2 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |