OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 15 Июнь, 2025 23:36

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Патч AbfMedia
СообщениеДобавлено: Среда, 20 Февраль, 2008 17:15 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
ТРАП при внедрении картинки.

Код:
PROCEDURE (v: StdView) SetEmbLink (link: ARRAY OF CHAR);
...
                v.link := link$;
      (* PATCH BEGIN *)
      SplitPath(v.link, name);
      src := Files.dir.Old(Files.dir.This(v.link$), name$, TRUE);
      ASSERT(src # NIL, 101);      
      v.link := name$;
      v.browser := NIL;
      v.embedded := TRUE;
      (* PATCH END *)
      (* loading external data *)
      NEW(v.data);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Среда, 20 Февраль, 2008 21:19 
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
В смысле, Вам хочется, чтобы при открытии несуществующего файла вместо NIL dereference было срабатывание ASSERT? Разумно, только тогда уж это не инвариант, а предусловие, по сути своей (код 21).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 10:18 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Нет, Илья. Смысл патча совсем не в АССЕРТЕ. Иначе я его не выкладывал бы.
Сравните два варианта кода, Ваш и мой.
Ошибка была в том, что в оригинальном коде файл открывали в текущей директории, т.е. совсем не там где он лежит. Если внедрять картинки из корня ЧЯ - все работает. А если по-пытаться внедрить файл находящейся в другом месте - получаем ТРАП.

АССЕРТ - не вполне разумное решение, временное. Отсутсвие файла - не такая уж необычная ситуация (например, нет связи по сети). Надо что-то другое :)

ЗЫ Вот если у Вас оригинальный код работает при внедрении файл из любого места, значит у меня особо зловредная система :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 10:48 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
hothing писал(а):
Если внедрять картинки из корня ЧЯ - все работает. А если по-пытаться внедрить файл находящейся в другом месте - получаем ТРАП.
Особо не пользовался, но такой вот путь работает "RODead\Mod\modMoveRecSchema.PNG". Не хотите относит рабочего каталога ББ, пишите полный путь "e:\dedOK\BB\RODead\Mod\modMoveRecSchema.PNG" - тоже работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 10:52 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
Может быть. У меня вывалился ТРАП когда захотел вставить картинку из директории "Мои рисунки". Проверил на других директориях - тот же ТРАП. После патча - все ОК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 10:58 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Попробовал, вставился абсолютный путь "C:\Documents and Settings\All Users\Документы\Мои рисунки\Образцы рисунков\Голубые холмы.jpg", никаких трапов. :?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 11:06 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
С учетом предидущих событий (патч для HostPorts), остается только процитировать себя самого
hothing писал(а):
значит у меня особо зловредная система :D
А своим глазам я верю :)

Евгений, а Вы опцию "внедрить" включали? По-умолчанию, она отключена. И все работает замечательно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 12:02 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
Такие опции я зарёкся включать, когда у меня Ворд целую кучу внедренных картинок заменил красными крестами, после чего пришлось внедрять их по новой.

С внедрением при абсолютном пути и правда трэп.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Патч AbfMedia
СообщениеДобавлено: Четверг, 21 Февраль, 2008 22:14 
Аватара пользователя

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


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

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


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

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