OberonCore https://forum.oberoncore.ru/ |
|
Патч AbfMedia https://forum.oberoncore.ru/viewtopic.php?f=23&t=886 |
Страница 1 из 1 |
Автор: | hothing [ Среда, 20 Февраль, 2008 17:15 ] |
Заголовок сообщения: | Патч AbfMedia |
ТРАП при внедрении картинки. Код: 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); |
Автор: | Илья Ермаков [ Среда, 20 Февраль, 2008 21:19 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
В смысле, Вам хочется, чтобы при открытии несуществующего файла вместо NIL dereference было срабатывание ASSERT? Разумно, только тогда уж это не инвариант, а предусловие, по сути своей (код 21). |
Автор: | hothing [ Четверг, 21 Февраль, 2008 10:18 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
Нет, Илья. Смысл патча совсем не в АССЕРТЕ. Иначе я его не выкладывал бы. Сравните два варианта кода, Ваш и мой. Ошибка была в том, что в оригинальном коде файл открывали в текущей директории, т.е. совсем не там где он лежит. Если внедрять картинки из корня ЧЯ - все работает. А если по-пытаться внедрить файл находящейся в другом месте - получаем ТРАП. АССЕРТ - не вполне разумное решение, временное. Отсутсвие файла - не такая уж необычная ситуация (например, нет связи по сети). Надо что-то другое ![]() ЗЫ Вот если у Вас оригинальный код работает при внедрении файл из любого места, значит у меня особо зловредная система ![]() |
Автор: | Евгений Темиргалеев [ Четверг, 21 Февраль, 2008 10:48 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
hothing писал(а): Если внедрять картинки из корня ЧЯ - все работает. А если по-пытаться внедрить файл находящейся в другом месте - получаем ТРАП. Особо не пользовался, но такой вот путь работает "RODead\Mod\modMoveRecSchema.PNG". Не хотите относит рабочего каталога ББ, пишите полный путь "e:\dedOK\BB\RODead\Mod\modMoveRecSchema.PNG" - тоже работает.
|
Автор: | hothing [ Четверг, 21 Февраль, 2008 10:52 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
Может быть. У меня вывалился ТРАП когда захотел вставить картинку из директории "Мои рисунки". Проверил на других директориях - тот же ТРАП. После патча - все ОК. |
Автор: | Евгений Темиргалеев [ Четверг, 21 Февраль, 2008 10:58 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
Попробовал, вставился абсолютный путь "C:\Documents and Settings\All Users\Документы\Мои рисунки\Образцы рисунков\Голубые холмы.jpg", никаких трапов. ![]() |
Автор: | hothing [ Четверг, 21 Февраль, 2008 11:06 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
С учетом предидущих событий (патч для HostPorts), остается только процитировать себя самого hothing писал(а): значит у меня особо зловредная система А своим глазам я верю ![]() ![]() Евгений, а Вы опцию "внедрить" включали? По-умолчанию, она отключена. И все работает замечательно. |
Автор: | Евгений Темиргалеев [ Четверг, 21 Февраль, 2008 12:02 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
Такие опции я зарёкся включать, когда у меня Ворд целую кучу внедренных картинок заменил красными крестами, после чего пришлось внедрять их по новой. С внедрением при абсолютном пути и правда трэп. |
Автор: | Илья Ермаков [ Четверг, 21 Февраль, 2008 22:14 ] |
Заголовок сообщения: | Re: Патч AbfMedia |
Да, всё верно. Исправление принято. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |