Определить путь (местоположение) файла.pet (файл проекта Petrel) через Ocean API?

В плагине Petrel я хочу определить местоположение файла.pet текущего проекта, если он есть. Можно ли использовать вызов Ocean API для получения этой информации?

2 ответа

Посмотрите на PetrelProject.GetProjectInfo( IDataSourceManager dataSourceManager). Он возвращает IProjectInfo, который содержит информацию, которую вы ищете.

Обратите внимание на замечания для IProjectInfo.ProjectStorageDirectory:

"Не создавайте файлы, используя каталог хранилища! Petrel удаляет все файлы, не принадлежащие проекту, при сохранении проекта. Вместо этого используйте OpenCompressedStream(String, FileAccess) / OpenStream(String, FileAccess), который помещает файл, где он не будет удален во время сохранить проект. Во время проекта Сохранить как каталог хранения будет находиться в новом месте проекта."

Хотя это официально не задокументировано, streamName может быть относительным путем (например, "MyyPlugin\MyData.xml"). Petrel создаст каталог для вашего файла (в этом случае%PROJECTDIR%\Ocean\MyyPlugin\MyData.xml)

Другие вопросы по тегам