20 Мая 2024, 12:30:47
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Навигация по форуму







guest3d
Quest3D - Русскоязычное сообщество > Quest3D > Контент > channel not found или ненайденные dll в q3d5
channel not found или ненайденные dll в q3d5
(Прочитано 4810 раз)
  [1]
Печать
→|๖ۣۜDen|← | ***** | Администратор | Ветеран | Сообщений: 570 | « 09 Октября 2012, 19:01:53 »
channel not found или ненайденные dll в q3d5 |
0
Всем доброго времени суток!

Решил на скорую руку написать небольшой урок, на тему того, как пофиксить такую вещь, когда после запуска приложения вас встречает всплывающее окно, сообщающее, что проект не обнаружил какую-то длл (рис.1). Я думаю с такой ошибкой встречались многие, особенно в новой 5-ой версии, поэтому опишу, что необходимо сделать, чтобы проект запускался без ошибок.
Но сначала - почему такое происходит? Непонимающий
Возможно, дабы угодить комьюнити или же просто повышения производительности ради, Акты решили наворотить систему оптимизации проекта в виде исключения ненужных (неиспользуемых проектом) длл-ок. Такая опция доступна в момент настройки паблиша, которая активируется флажком по Low footprint (собственно, если навести на эту опцию мышью, то выскочит подсказка, говорящяя, что в проект будут включены только используемые длл).
Но как оказалось, эта опция может иногда работать и без вашего ведома, т.е. из общего списка длл-ок выбирать всё же не все. в подтверждение этому можно просто сравнить два файла - channels.lst и channels_publish.lst, находящиеся в папке C:\Users\*\AppData\Roaming\Quest3D\Quest3D 5.0 32 Bit__********. Если попробовать отпаблишить проект с отключенной опцией (что говорит, что мы не хотим никакой оптимизации и желаем полное включение каналов в проект), то окажется, что channels_publish.lst будет меньше по объёму, чем channels.lst, что в свою очередь говорит, что не все длл включены в проект (рис.2). Почему это происходит - с этим вопросом к разработчикам. Возможно при паблише система ошибочно находит "неиспользуемые длл"(?), которые и решает сама исключить. Но что, если эти длл на самом деле являются используемыми или необходимыми в проекте? Тогда и всплывает сообщение о ненайденной длл. В замешательстве
Логично предположить, что для решения этой проблемы необходимо, чтобы данная длл была в папке, где и все длл, т.е. в папке channels. Эта папка всегда создаётся в момент распаковки файлов после запуска демонстрации. Иначе говоря, необходимо помимо дллок, описанных в channels_publish.lst закинуть ещё те, которых не хватает.
Для этого в папке с проектом необходимо создать одноимённую папку channels (важно - "c" прописная), куда и скопировать недостающую длл из соответсвующей папки, находящейся в корне с установленным q3d. Дальше просто остаётся указать паблишу, то что мы желаем помимо файлов .cgr ещё запаковать .dll-файлы. Для этого необходимо в фильтре прописать дополнительно *.dll, и включить папку channels (рис.3).
На этом всё.

После запуска программы распаковщик обнаружит папку channels, куда и скопирует ко всем длл-кам недостающую. Подмигивающий

* рис.3.png (161.83 Кб, 731x582 - просмотрено 1462 раз.)

* рис.2.png (222.52 Кб, 1051x763 - просмотрено 1460 раз.)

* рис.1.png (35.66 Кб, 433x420 - просмотрено 1441 раз.)
 
  [1]
Печать
 
Quest3D - Русскоязычное сообщество > Quest3D > Контент > channel not found или ненайденные dll в q3d5
Перейти в: