Поскольку Byte что-то там в новом релизе QSP химичит с выделением файлов-библиотек QSP в отдельную категорию — со своим расширением по крайней мере точно, то не мешало бы подумать, а как с этим хозяйством можно будет работать…
Неактивен
В процессе написания Адского движка™ у меня накопилось изрядное количество вынесенных в отдельные файлы модулей-библиотек. Из-за их количества есть соблазн положить их в директорию "..\libs\", но из-за этого сразу возникает проблема. Если одна первая библиотека подключает в своём коде вторую (необходимую ей для работы), то при подключении командой ADDQST 'libs\первая.qsp' первой библиотеки и её "инициализации" (вызове какой-нибудь стартовой функции, чтобы заполнить внутренние переменные, константы и т.п.), вторая библиотека не будет подключена, поскольку поиск в этом случае будет осуществляться в корневой директории.
Варианта два:
Как-то так…
Неактивен
Сходу можно сказать, что второй вариант не практичен, особенно с позиции автора.
А вот первый это да, только тут неясно выражено обращение. Да и по логике вещей, должно строиться так. От корневой папки, где запускается исполняемый файл, берется путь и ориентация сначала идет с него, а потом по специальным путям, где лежат все библиотеки. Т.е. при указании относительного адреса (лучше без абсолюта обойтись), проигрыватель сначала проверит корневой+относительный путь, проверит корневой путь и только после этого проверит в своих папках (папка с виндой в эту же категорию или .Net). Коли ни в одном случае нету, то и можно тогда сообщить об отсутствии такой-то библиотеки. Именно, так делается в программах. Но при этом, разработчик платформы, должен четко определить в каком порядке, что будет читаться при отсутствии библиотеке и где все эти библиотеки должны располагаться (в папке с игрой, в папке библиотек и т.д.).
Тогда от этой идеи будет толк, даже на уровне авторов.
Неактивен
Eten написал:
Сходу можно сказать, что второй вариант не практичен, особенно с позиции автора.
Это вариант вполне практичен, если другой возможности нет.
Eten написал:
Да и по логике вещей, должно строиться так. От корневой папки, где запускается исполняемый файл, берется путь и ориентация сначала идет с него, а потом по специальным путям, где лежат все библиотеки. Т.е. при указании относительного адреса (лучше без абсолюта обойтись), проигрыватель сначала проверит корневой+относительный путь, проверит корневой путь и только после этого проверит в своих папках… Именно, так делается в программах.
Этэн, мы говорим не о проигрывателе, а о коде самой игры. Файл с игрой может лежать где угодно, исполняемый файл проигрывателя — ещё где-нибудь. Ты хотя бы пытайся отвечать в контексте платформы, о которой идёт речь.
Неактивен
Olegus t.Gl. написал:
Этэн, мы говорим не о проигрывателе, а о коде самой игры. Файл с игрой может лежать где угодно, исполняемый файл проигрывателя — ещё где-нибудь. Ты хотя бы пытайся отвечать в контексте платформы, о которой идёт речь.
Вообще то я ответил в рамках темы. Раз автор платформы решил по этой теме кое-что сделать, то я сделал свою заметку. А вот, когда он это сделает или откажется это делать, тогда оно и понятно. Так что, давай, сначала увидим в действии, а уж потом и будем говорить в контексте платформы. Все равно щас этого нету, но имеется этап перехода к библиотекам.
З.Ы.
Хм, в любом случае, есть интерес глянуть на это. Хотя уже добавить больше нечего.
Неактивен