OberonCore

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

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




Начать новую тему Ответить на тему  [ Сообщений: 40 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Abf - Advanced BlackBox Framework
СообщениеДобавлено: Воскресенье, 09 Июль, 2006 23:41 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Опубликован первый выпуск Advanced BlackBox Framework - Open-Source-проекта, цель которого - расширение стандартного каркаса BlackBox дополнительными средствами, такими как работа с мультимедиа, графика, параллельные вычисления, базы данных, перманентные хранилища и т.п.

Ссылка удалена, см. сайт http://oberoncore.ru/

06.07.2011 размещено в коллекции: http://oberoncore.ru/bbcc/subs/abf/


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 11 Июль, 2006 08:49 

Зарегистрирован: Четверг, 01 Декабрь, 2005 16:00
Сообщения: 18
При установке библитеки Abf произошла ошибка - модуль AbfMediaCmds вызывает процедуру Dialog.UpdateString(...). Итого сообщение - undeclared identifier.
В интерфейсе модуля Dialog нет такой процедуры.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 11 Июль, 2006 09:13 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Эти Dialog.UpdateЧегото завелись где-то в сервиспаках. В версии 1.5beta их нет. Хотя в 1.5 уже есть.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вторник, 11 Июль, 2006 09:41 

Зарегистрирован: Четверг, 01 Декабрь, 2005 16:00
Сообщения: 18
Точно, на 1.5 стала, а на 1.5beta улучшеной до 1.5 библиотеками bb_sp3 и bb_sp303 не стала, хотя в описании к ней говорилось, что при ее установке "в любом случае вы получите RELEASE со всеми исправлениями".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Среда, 12 Июль, 2006 09:50 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Последний сервиспак (3.1) уже не поддерживает переход от беты к релизу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 19 Май, 2008 10:29 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Такой вопрос - как программно установить прозрачность картинки, и прозрачный цвет? Через диалоговое окно устанавливается, а программно не хочет.

Я делаю так:
Код:
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;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Четверг, 22 Май, 2008 08:17 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Если вручную добавлять свойство, то прозрачность включается:
Код:
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;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 18:41 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Использую AbfMedia для создания командной кнопки (текст + иконка). Когда кнопка в режиме "disable", то для обозначения этого режима можно было бы переключить цвет иконки в "GrayScale" (такой подход проще, чем использовать дополнительные картинки для каждого режима кнопки.).

Библиотека FreeImage такую возможность предоставляет, среди прочих конвертирующих функций есть функция FreeImage_ConvertToGreyscale. Но такой функции в заголовках AbhostFreeImage я не нашёл. Вообще, в библиотеке масса интересных вещей для манипуляции с изображением.

Как вообще планируется развитие Abf в этом плане? Я бы поучаствовал...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 19:14 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Иван Кузьмицкий писал(а):
Как вообще планируется развитие Abf в этом плане? Я бы поучаствовал...

Думаю развитие выльется в перенесение Abf в репозиторий (из внутреннего) и открытие его для изменений. Что скажет автор?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 20:31 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Четырьмя лапами за :-) Валяйте! :-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 22:03 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
А секретное слово дадут? :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 22:04 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
В смысле?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 22:14 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Для доступа к репозиторию. Он ведь открыт только для чтения, или я что-то пропустил?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 22:57 
Модератор
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Понедельник, 14 Июль, 2008 23:34 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Илья Ермаков писал(а):
Так Борис обещал переместить его! Короче, ребята, разбирайтесь там с репозиториями сами, я за этим не слежу - вот уже запутался :-)

Не так быстро...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Вторник, 15 Июль, 2008 00:26 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4695
Откуда: Россия, Орёл
Борис Рюмшин писал(а):
Илья Ермаков писал(а):
Так Борис обещал переместить его! Короче, ребята, разбирайтесь там с репозиториями сами, я за этим не слежу - вот уже запутался :-)

Не так быстро...

Готово.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Пятница, 05 Декабрь, 2008 23:50 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
При использовании 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.
Как оказалось - ключевое слово "на форму". В случае с текстовым документом всё проходит нормально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Суббота, 06 Декабрь, 2008 00:36 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Трэп 21 у Join - это когда второй объект = NIL. Т.е. в данной ситуации wr.writtenStore = NIL (раньше ничего не записывалось). Как-то это... Странно.... Ведь Writer приходит от формы. Может быть, какие-то особенности форм (используется доп. Writer или что ещё).
Можете попробовать поставить охрану IF wr.writtenStore # NIL...
Если это не даст дальнейших эффектов. Хотя не должно.

P.S. В принципе, спорно сделан Join, нематематично. Алгебраически NIL для операции объединения находится в область определения, является её нулевым элементом. Надо было ожидать, что эта операция с нулевым операндом будет на практике естественным образом возникать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Суббота, 06 Декабрь, 2008 00:44 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2662
Откуда: Россия, Ярославль
Илья Ермаков писал(а):
Можете попробовать поставить охрану IF wr.writtenStore # NIL...
Если это не даст дальнейших эффектов. Хотя не должно.


Пробовал. Эффекты возникают в Stores.Writer.WriteStore(). Срабатывает АССЕРТ 21, что то связанное с доменами. Кстати, у s домен вообще NIL.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выпущен Advanced BlackBox Framework
СообщениеДобавлено: Суббота, 06 Декабрь, 2008 00:57 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Надо посмотреть и разобраться. На выходных гляну.


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

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


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

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


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

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