Тема: Как программно добавить нужные пути, для поиска файлов?

Добрый день.
Как правильно в AutoCAD2005-2008 добавить пути для поиска файлов?
Как это делается вручную понятно. Просто переходим в меню "Tools\Options\Files\Support File Search Patch" и прописываем нужный путь.
Вопрос - как программно добавить нужные пути, для поиска файлов???

Re: Как программно добавить нужные пути, для поиска файлов?

Лезть в реестр, скорее всего. Частично проблема рассматривалась http://www.arcada.com.ua/forum/viewtopic.php?t=439
Но там было не все, для вертикальных решений методика может быть иной.
Кроме того, поищи по этому форуму - вопрос о прописывании ObjectARX-приложения в автозагрузку уже поднимался, насколько я помню.

Re: Как программно добавить нужные пути, для поиска файлов?

> Юра

> Кулик Алексей aka kpblc
Все намного проще. Без проверок:

void AddNewPath(char *path)
{
  char *buff[16536];
  acedGetEnv("ACAD",buf); // Считываем старые пути
  strcat(buff,";"); strcat(buff,path); // Добавляем новый путь
  acedSetEnv("ACAD",buf); // Записываемыем старые и новый пути
}

Re: Как программно добавить нужные пути, для поиска файлов?

P.S.: Для AutoCAD 2007...2008 учитываем, что нужно заменить char на ACHAR, "ACAD" на _T("ACAD"), ";" на _T(";") и strcat на wcscat

Re: Как программно добавить нужные пути, для поиска файлов?

> Александр Ривилис
Я правильно понимаю, что суммарная длина путей, включая разделители, не может превышать неполных 16 килобайт? Просто где-то читал, что ограничено количество путей поддержки (то ли 16, то ли 12), но про длину строки (getenv "ACAD") ничего не говорилось. К сожалению, источника указать не могу - попросту не помню :(

Re: Как программно добавить нужные пути, для поиска файлов?

Не надо только забывать, что прежде, чем добавить свой путь (любым способом), надо проверить, не включен ли он уже в переменную ACAD.
Также нужно до включения пути создать требуемый каталог. Иначе в переменной и в реестре он будет, но Автокад его не будет видеть.

Re: Как программно добавить нужные пути, для поиска файлов?

Всем огромное спасибо!!!

Re: Как программно добавить нужные пути, для поиска файлов?

> Кулик Алексей aka kpblc
Это сложный и недокументированный вопрос. Во всяком случае в ObjectARX SDK Help указано, что достаточный размер буфера для acedGetEnv - 1024. Дополнительных исследований я не проводил.