> Леонид
Это IMHO не тот случай:
C:\Pipeline\bin\UnisLandProfiler.arx cannot find a dll or other file that it
needs.
AutoCAD уже определил, что версия ObjectARX совместима с ним. А вот если arx-приложение создано в несовместимой версии MS VS C++ - это вполне возможно. Особенно если оно создано в более новой версии, а на компьютере не установлены dll-файлы поддерживающие его.
А может быть еще проще - этот arx-файл статически линкован с dbx-файлом "собственного" примитива, который не находится в пути доступа AutoCAD. Если дело именно в этом, и известно, где этот файл находится, то можно использовать ключ /DELAYLOAD:"имя файла.dbx" delayimp.lib и загружать его динамически из arx-файла, используя acrxLoadModule. Например, если он всегда в том же каталоге, что и arx-файл, то:
char ModuleName[_MAX_PATH+1];
GetModuleFileName(_hdllInstance,ModuleName,_MAX_PATH);
char PathDBX[2*_MAX_PATH+1]; memset(PathDBX,'\0',2*_MAX_PATH+1);
char *send = 0;
if ((send = strrchr(ModuleName,'\\')) != NULL) {
strncpy(PathDBX,ModuleName,send-ModuleName+1);
strcat(PathDBX,"имя файла.dbx");
} else if ((send = strrchr(ModuleName,'/')) != NULL) {
strncpy(PathDBX,ModuleName,send-ModuleName+1);
strcat(PathDBX,"имя файла.dbx");
} else {
strcpy(PathDBX,"имя файла.dbx");
}
Аналогично можно делать и для собственных dll-файлов, путь к которым AutoCAD не в состоянии найти сам.