Please, pay attantion that now you are in public part of FAQ-Area. Register and find more FAQ-articles
in Personal Cabinet.
>
Technical Support FAQ
>
База знаний (FAQ)
>
Программное обеспечение
>
КОМПАС-Электрик
Problem:
При запуске:
- Утилиты обновления базы данных комплектующих,
- Менеджера библиотеки УГО,
- Менеджера базы данных комплектующих;
- При открытии по двойному клику файла-проекта (*.kpj)
Система выдает сообщение об ошибке:
Не удалось получить идентификатор для COM Server: “KOMPAS.Application.5”
Solution:
Вариант 1:
Произвести перегистрацию КОМПАС-3D, посредством запуска файла KOMPAS.Exe с ключом -register. (Например C:\Program Files\ASCON\KOMPAS-3D V14\Bin\KOMPAS.Exe -register)
Вариант 2:
Причина: Иногда после установки автоматических обновлений Windows (или по другим неустановленным причинам) на компьютере происходит повреждение системных компонентов доступа к базам данных «Microsoft/Windows Data Access Components» (MDAC/WDAC), в частности их составляющих – «ActiveX Data Objects» (ADO) и/или «OLEDB-провайдеров».
Решение:
1. Необходимо скачать пакет драйверов Microsoft Data Access Components, который устанавливает те же основные компоненты доступа к данным:
http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e ;
2. В свойствах скаченного файл MDAC_TYP, на вкладке Совместимость необходимо установить совместимость с Windows 2000;
3. Запустить пакет драйверов;
4. Перезагрузить компьютер.
Время на прочтение
6 мин
Количество просмотров 11K
В предыдущих уроках по API КОМПАС (Напоминаем, что в качестве среды используется C++ Builder) Основы и Оформление чертежа мы исходили из того, что КОМПАС не запущен, и запускали его сами методом CreateInstance. Но что если в момент вызова этого метода КОМПАС уже запущен? Тогда будет создан еще один экземпляр данной программы. В принципе ничего страшного, но неаккуратно. Зачем плодить копии программы, когда можно обойтись одним экземпляром?
Сегодня мы поговорим о том, как подключаться к уже запущенному КОМПАС, чтобы не создавать картину, похожую на ту, которая изображена на рисунке ниже.
Запущено несколько экземпляров КОМПАС-3D
Подключение к КОМПАС
Для подключения к программе КОМПАС используется метод ActiveInstance. Ниже приводится пример программы, подключающейся к КОМПАС.
KompasObjectPtr kompas;
kompas.ActiveInstance(L"KOMPAS.Application.5");
//Делаем КОМПАС видимым
kompas->Visible = true;
kompas.Unbind();
Единственный параметр метода ActiveInstance – строковое наименование интерфейса, к которому мы подключаемся, в кодировке Unicode.
А что будет, если в момент вызова этого метода КОМПАС не запущен? Произойдет ошибка. Причем пользователю будет показано сразу два окна с ругательствами.
Первое окно с ошибкой
Второе окно с ошибкой
Формат этих окон зависит от используемой среды разработки и может отличаться от приведенных выше. Оборачивание вызова метода ActiveInstance в блок try/catch, к сожалению, не решает проблему.
try{
KompasObjectPtr kompas;
kompas.ActiveInstance(L"KOMPAS.Application.5");
//Делаем КОМПАС видимым
kompas->Visible = true;
kompas.Unbind();
}catch(...){}
Мы избавляемся только от одного окна с ошибкой. Получается, что вызывать метод ActiveInstance можно только тогда, когда КОМПАС запущен. И здесь мы приходим к главному вопросу: как определить, запущен КОМПАС или нет? Для этого существует несколько методов.
По главному окну
Самый распространенный способ – с помощью функции FindWindow найти главное окно программы. Функция FindWindow ищет окно по его заголовку или по наименованию его оконного класса. К сожалению, она требует точного совпадения строк. Искать по части строки она не умеет.
Заголовок окна мы не можем использовать, так как он включает в себя версию КОМПАС, которая заранее нам неизвестна, и дополнительную информацию, например, наименование открытого документа. Поэтому мы не можем знать наверняка точную строку в заголовке окна. Попробуем по наименованию оконного класса.
Узнать его можно с помощью программы Spy++. На рисунке ниже приведена примерная информация об оконном классе (наименование обведено в красный прямоугольник).
Окно «Свойства окна»
Наименования оконного класса мало того, что не отличаются наглядностью, так еще и различаются в разных версиях КОМПАС. Поэтому поиск по наименованию оконного класса нам также не подходит.
Единственное, на что мы хоть как-то можем положиться, так это на наличие подстроки «КОМПАС-3D» в заголовке главного окна. Но функция FindWindow не умеет искать по подстроке. Единственное, что нам остается, так это перебрать все окна верхнего уровня и проверить, содержит ли заголовок какого-либо из них подстроку «КОМПАС-3D». Ниже приводится исходный код процедуры, осуществляющей эту проверку.
//Функция обратного вызова для поиска окна
bool CALLBACK EnumWindowsProc(HWND hwnd, LPARAM lParam)
{
//Получаем размер заголовка окна
unsigned int size;
size = GetWindowTextLength(hwnd);
if(!size) return true;
//Подготавливаем буфер под заголовок окна
wchar_t* pbuffer;
pbuffer = (wchar_t*)malloc(sizeof(wchar_t)*(size+1));
//Читаем заголовок окна
GetWindowTextW(hwnd, pbuffer, size-1);
//Ищем подстроку
wchar_t *p;
p = wcsstr(pbuffer, L"КОМПАС-3D");
//освобождаем память
free(pbuffer);
if(!p) return true;
//Окно найдено, сохраняем результат и останавливаем поиск
bool *pres;
pres = (bool*)lParam;
*pres = true;
return false;
}
//Функция проверки запущен ли КОМПАС?
bool IsKOMPASRun()
{
bool res = false;
EnumWindows((WNDENUMPROC)EnumWindowsProc, (LPARAM)(&res));
return res;
}
Для перечисления окон используется функция EnumWindows, входящая в состав Windows API. Данная функция подготавливает список окон верхнего уровня и для каждого найденного окна вызывает пользовательскую функцию EnumWindowsProc. В данной функции мы читаем заголовок найденного окна и проверяем, содержит ли он подстроку «КОМПАС-3D». Если содержит, то окно найдено и останавливаем поиск, если нет – переходим к следующему окну. Ниже приводится пример использования данной процедуры.
if(IsKOMPASRun())
ShowMessage("КОМПАС запущен");
else
ShowMessage("КОМПАС не запущен");
К сожалению, данный метод очень ненадежен. Дело в том, что в системе могут быть другие окна, содержащие в своем заголовке подстроку «КОМПАС-3D». Пример такого окна приведен на рисунке 4. Это явно не то окно, которое мы хотим найти.
Окно справки
По процессу
Другим вариантом является поиск процесса КОМПАС. У программы КОМПАС исполняемый файл обычно именуется «kompas.exe» (в разных версиях может различаться регистр). Что если вместо окна искать процесс с таким наименованием исполняемого файла? Ниже приводится исходный текст программы, реализующей данный метод.
bool IsKOMPASRun()
{
//Имя исполняемого файла, который мы ищем
char ExeName[] = "kompas.exe";
size_t lenName = strlen(ExeName);
//Делаем снимок системы
HANDLE hSnapshot;
hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
//Перечисляем процессы
PROCESSENTRY32 entry;
entry.dwSize = sizeof(PROCESSENTRY32);
Process32First(hSnapshot, &entry);
size_t len;
bool res = false;
do{
//Сравниваем наименования исполняемых файлов
len = strlen(entry.szExeFile);
if(len != lenName) continue;
if(!strnicmp(entry.szExeFile, ExeName, len))
{
res = true;
break;
}
}while(Process32Next(hSnapshot, &entry));
CloseHandle(hSnapshot);
return res;
}
В данном примере для перечисления процессов используются функции CreateToolhelp32Snapshot, Process32First, Process32Next, входящие в состав Windows API. Для их использования необходимо подключить заголовочный файл tlhelp32.h. Это не единственный способ перечисления процессов, но один из самых простых. Для сравнения строк используется функция strnicmp, которая сравнивает строки без учета регистра символов.
Способ, основанный на поиске процессов, надежнее поиска окна. Он дает значительно меньше ложных срабатываний, но не исключает их. Что если на компьютере пользователя запущена программа с точно таким же наименованием исполняемого файла? Или в последующих версиях КОМПАС исполняемый файл будет называться по-другому? Во всех этих случаях данный метод не работает.
С использованием технологии COM
Все описанные выше методы громоздки и ненадежны. Поэтому их использование нежелательно. Существует более надежный способ проверки факта запуска программы КОМПАС. Он основан на функциях библиотеки ole32.dll, которая входит в состав Windows и реализует технологию COM. Ниже приводится исходный код процедуры, проверяющей с помощью этих функций, запущен ли КОМПАС.
bool IsKOMPASRun()
{
wchar_t ObjectName[] = L"KOMPAS.Application.5";
//Инициализируем библиотеку Ole32.dll
CoInitialize(NULL);
CLSID clsid;
//Получаем clsid объекта
CLSIDFromProgID(ObjectName, &clsid);
//Пытаемся подключиться
HRESULT res;
IUnknown *pIUnknown;
res = GetActiveObject(clsid, NULL, &pIUnknown);
if(res == S_OK)
{
pIUnknown->Release();
return true;
}
return false;
}
Основную работу выполняет функция GetActiveObject. С ее помощью мы пытаемся подключиться к КОМПАС. Если это удалось, значит, КОМПАС запущен. Функция CLSIDFromProgID используется для конвертирования строкового представления объекта в его CLSID (уникальный 128-битный идентификатор). Ее можно использовать для проверки того, установлен КОМПАС на компьютере пользователя или нет. Ниже приводится пример программы, реализующей такую проверку.
bool IsKOMPASInstalled()
{
wchar_t ObjectName[] = L"KOMPAS.Application.5";
//Инициализируем библиотеку Ole32.dll
CoInitialize(NULL);
CLSID clsid;
//Получаем clsid объекта
HRESULT res;
res = CLSIDFromProgID(ObjectName, &clsid);
return (res == S_OK);
}
Корректное подключение
Ниже приводится исходный текст программы, реализующей корректное подключение к КОМПАС.
wchar_t ObjectName[] = L"KOMPAS.Application.5";
……………………………………………………………
if(! IsKOMPASInstalled())
{
ShowMessage("КОМПАС не установлен");
return;
}
KompasObjectPtr kompas;
if(IsKOMPASRun())
kompas.ActiveInstance(ObjectName);
else
kompas.CreateInstance(ObjectName);
kompas->Visible = true;
kompas.Unbind();
Переменная ObjectName объявлена глобальной, чтобы избежать ее дублирования в разных функциях.
Заключение
В данной статье были рассмотрены различные методы определения того, запущен КОМПАС или нет. Вы можете использовать любой из этих методов или их комбинацию. А может быть, придумаете свой метод. Самым надежным является метод, основанный на функции GetActiveObject.
В конце статьи приведен пример программы, реализующей подключение к КОМПАС с проверкой на его наличие в системе и работу в момент запуска программы.
Четвертая часть.
Сергей Норсеев, автор книги «Разработка приложений под КОМПАС в Delphi».
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
#1 14 декабря 2010 14:50:59
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Тема: COM передать параметр по ссылке
Пишу интеграцию с Компас.11, работаю с ним через его АПИ.
Если функции возвращают LPDISPATCH, то пишу следующим образом:
'LPDISPATCH GetParamStruct (short structType); Set iTextLineParam = iKompasObject.GetParamStruct(29)
Все работает. Но есть функция, возвращающая тот же тип результата, но вызывающая ошибку:
'LPDISPATCH ksGetStampColumnText (long* numb); Set iTextLineDynamicArray = iStamp.GetStampColumnText( numb ) 'ОШИБКА - Объект не поддерживает это свойство или метод iStamp.GetStampColumnText
Есть подозрение, что параметр надо передавать не по значению, а по ссылке.
Как это сделать? Преобразование VarPtr(numb) — не работает
Полный текст:
Sub FormMacro_COMTEST(TCSActiveModule) ' Проверка COM kStarted = 0 'открываемый файл fileName = "C:\Program Files\CSoft\TechnologiCS\TEMP\46.19-1.cdw" 'открыть компас On Error Resume Next Set iKompasObject = GetObject(,"KOMPAS.Application.5") 'это если уже запущен If Err Then Set iKompasObject = CreateObject("KOMPAS.Application.5") kStarted = 1 Err.Clear End If On Error goto 0 iKompasObject.Visible = True ' показать компас 'открыть выгруженный файл Set d2d = iKompasObject.Document2D res = d2d.ksOpenDocument( fileName, False ) Set parStruct = iKompasObject.GetParamStruct(35) 'Получить интерфейс ksStamp основной надписи документа. Set iStamp = d2d.GetStamp() 'Открыть основную надпись. iStamp.ksOpenStamp() numb = 2 'long ksColumnNumber (long numb); //Определить номер ячейки основной надписи iStamp.ksColumnNumber numb 'iTextLineParam:=ksTextLineParam(iKompas.GetParamStruct(ko_TextLineParam)); 'iTextItemParam:=ksTextItemParam(iKompas.GetParamStruct(ko_TextItemParam)); Set iTextLineParam = iKompasObject.GetParamStruct(29) Set iTextItemParam = iKompasObject.GetParamStruct(31) 'LPDISPATCH ksGetStampColumnText (long* numb); 'LPDISPATCH GetParamStruct (short structType); 'iTextLineDynamicArray:=ksDynamicArray(iStamp.ksGetStampColumnText(numb)); 'iTextLineDynamicArray.ksGetArrayItem(0, iTextLineParam); 'iTextItemDynamicArray:=ksDynamicArray(iTextLineParam.GetTextItemArr()); 'iTextItemDynamicArray.ksGetArrayItem(0, iTextItemParam); 'Получить текст ячейки основной надписи. 'LPDISPATCH ksGetStampColumnText (long* numb); Set iTextLineDynamicArray = iStamp.GetStampColumnText( numb ) 'ОШИБКА - Объект не поддерживает это свойство или метод iStamp.GetStampColumnText 'Закрыть основную надпись. Istamp.ksCloseStamp() If kStarted = 1 Then iKompasObject.Quit 'закрытие компаса End Sub
#2 Ответ от Дмитрий Гамий 14 декабря 2010 15:23:42
- Дмитрий Гамий
- Техподдержка
- Неактивен
- Откуда: г.Днипро, CSoft Украина
- На форуме с 10 декабря 2008
- Сообщений: 748
Re: COM передать параметр по ссылке
Ну, мы пишем аналогичный проект, но под Компас V12 и на Delphi. При получении значения вышеуказанной функции используем приведение к типу ksDynamicArray, примерно так:
TextLineDynamicArray := ksDynamicArray(Stamp.ksGetStampColumnText(numb));
#3 Ответ от Bolshakov_AV 14 декабря 2010 15:33:47
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Дмитрий Гамий пишет:
но под Компас V12 и на Delphi.
Жаль, надо именно под TCS. На сколько мне известно, в Delphi нет разницы при передаче параметров. Он будет взят так, как описана функция. А в си можно написать &имя_переменной.
Неизвестно как привести к типу в VB TCS да и нужно ли?
#4 Ответ от Дмитрий Гамий 14 декабря 2010 15:47:37
- Дмитрий Гамий
- Техподдержка
- Неактивен
- Откуда: г.Днипро, CSoft Украина
- На форуме с 10 декабря 2008
- Сообщений: 748
Re: COM передать параметр по ссылке
Неизвестно как привести к типу в VB TCS да и нужно ли?
Ну, насколько я знаю, VB сам приводит всё, что нужно.
Ну и ещё — а не нужно ли проверять возвращаемое значение функции
'Открыть основную надпись. iStamp.ksOpenStamp()
Может, в этом месте происходит ошибка, а потом iStamp.GetStampColumnText( numb ) из-за этого не работает?
В демо-примерах к Компас SDK для Visual Basic обычно так делается:
Set iStamp = doc.GetStamp() If Not iStamp Is Nothing And iStamp.ksOpenStamp Then ' ' End If
#5 Ответ от Bolshakov_AV 14 декабря 2010 16:00:29
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Все верно, iStamp.ksOpenStamp = 0, то есть — не открыл (
Буду разбираться дальше
#6 Ответ от Bolshakov_AV 15 декабря 2010 09:22:16
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Теперь штамп открывается.
Могу писать в штамп через ksTextLine, могу его очищать через ksClearStamp(0),
но при выполнении ksGetStampColumnText( numb ) выходит ошибка «Несоответствие типа»
хотя numb = CLng(2) и имеет требуемый тип Long.
Что еще может быть не так?
#7 Ответ от Олег Зырянов 15 декабря 2010 10:49:24
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,246
Re: COM передать параметр по ссылке
dispinterface ksStamp { properties: [id(0x00000001), helpstring("Указатель на штамп.") ] long reference; methods: [id(0x00000002), helpstring("Открыть составной объект - штамп.")] long ksOpenStamp(); [id(0x00000003), helpstring("Закрыть составной объект - штамп.")] long ksCloseStamp(); [id(0x00000004), helpstring("Очистить составной объект - штамп.")] long ksClearStamp(long numb); [id(0x00000005), helpstring("Выдать текст графы.")] IDispatch* ksGetStampColumnText(long* numb); [id(0x00000006), helpstring("Заменить текст графы.")] long ksSetStampColumnText( long numb, IDispatch* textArr); [id(0x00000007), helpstring("Определить номер ячейки.")] long ksColumnNumber(long numb); [id(0x00000008), helpstring("Создать компоненту строки текста.")] long ksTextLine(IDispatch* textItem); };
К сожалению не в курсе темы, но все же почему
Set iTextLineDynamicArray = iStamp.GetStampColumnText( numb )
а не как видно по всем текстам и хелпам
Set iTextLineDynamicArray = iStamp.ksGetStampColumnText( numb )
#8 Ответ от Bolshakov_AV 15 декабря 2010 11:13:23 (изменено: Bolshakov_AV, 15 декабря 2010 11:26:14)
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
В общем, сейчас имеем следующий текст:
Sub FormMacro_COMTEST(TCSActiveModule) ' Проверка COM kStarted = 0 fileName = "D:\Bolshakov_AV\файло компасовое\Сопло\16.2-9.cdw" On Error Resume Next Set iKompasObject = GetObject(,"KOMPAS.Application.5") 'это если уже запущен If Err Then Set iKompasObject = CreateObject("KOMPAS.Application.5") kStarted = 1 Err.Clear End If On Error goto 0 iKompasObject.Visible = True ' показать компас 'открыть выгруженный файл Set Doc = iKompasObject.Document2D res = Doc.ksOpenDocument( fileName, False ) If ((res=True) And (Doc.reference<>0) And (Not Doc Is Nothing)) Then Set stamp = Doc.GetStamp() If (Not stamp Is Nothing) Then If (stamp.ksOpenStamp() = 1) Then stamp.ksColumnNumber(2) 'stamp.ksClearStamp(0) 'работает 'так и не работает numb = CInt(2) Set IStamp = stamp.ksGetStampColumnText( numb ) 'далее все работает ' Интерфейс параметров компоненты строки текста Set itemParam = iKompasObject.GetParamStruct(31) 'ko_TextItemParam If Not itemParam Is Nothing Then ' Интерфейс создан itemParam.Init ' Инициализация Set itemFont = itemParam.GetItemFont ' Интерфейс параметров шрифта компоненты строки текста If Not itemFont Is Nothing Then ' Интерфейс создан itemFont.Init ' Инициализация itemFont.SetBitVectorValue NEW_LINE, True ' Новая строка itemParam.s = "1111111" ' Текст компоненты строки текста Doc.ksTextLine itemParam ' Добавить строку в ячейку основной надписи Set itemFont = Nothing End If Set itemParam = Nothing End If stamp.ksCloseStamp() End If End If Doc.ksSaveDocument( fileName ) Doc.ksCloseDocument() End If If kStarted = 1 Then iKompasObject.Quit 'закрытие компаса End Sub
В общем пробовал и так и эдак:
LPDISPATCH ksGetStampColumnText (long* numb); reference GetStampColumnText (unsigned int *numb);
В любом случае параметр передается по ссылке и в нем же возвращается (!) результат.
В интернете нашел упоминание об этой проблеме в VBS и не один раз. Но решения не нашел.
http://www.rsdn.ru/forum/com/80999.flat.aspx
Тут народ считает, что параметры все равно передаются по значению, за исключением элементов массива.
http://forum.script-coding.info/viewtopic.php?pid=33028
тут народ создает «CreateObject(«htmlfile»)» и его выполняет на другом языке.
вот еще интересный ответ:
http://stackoverflow.com/questions/9667 … f-to-com-c
#9 Ответ от Олег Зырянов 15 декабря 2010 11:28:30
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,246
Re: COM передать параметр по ссылке
насколько я знаю в VBScript значения по умолчанию передаются по ссылке, но можно указать явно передачу по значению.
В JSScrpit все значение передаются по значению (это как раз проблема 1-кого топика), а во втором проблема как вернуть несколько значений.
Так что в данном смысле проблемы не у VBS.
По собщению что я написал ошибочка. В начале у вас сообщение другое было просто.
«Несоответствие типа» говорит о том что метод нашелся, но где то проблема с параметрами.
а tlb-бу можете прицепить к теме чтобы глянуть оригинальную?
#10 Ответ от Bolshakov_AV 15 декабря 2010 11:38:49 (изменено: Bolshakov_AV, 15 декабря 2010 11:39:48)
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Это все, что есть
#11 Ответ от Олег Зырянов 15 декабря 2010 12:01:21
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,246
Re: COM передать параметр по ссылке
ну вроде
Set iTextLineDynamicArray = iStamp.ksGetStampColumnText( numb )
совершенно правильно написано.
Попробуйте как вариант (что получится)
Set iTextLineDynamicArray = iStamp.ksGetStampColumnText( 1 ) Call iStamp.ksGetStampColumnText( 1 ) Call iStamp.ksGetStampColumnText( numb )
#12 Ответ от Bolshakov_AV 15 декабря 2010 13:30:24 (изменено: Bolshakov_AV, 15 декабря 2010 13:30:56)
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
... Dim numb numb=CLng(1) Set IStamp = stamp.ksGetStampColumnText( 1 ) Set IStamp = stamp.ksGetStampColumnText( numb ) Call stamp.ksGetStampColumnText( 1 ) Call stamp.ksGetStampColumnText( numb ) stamp.ksGetStampColumnText 1 stamp.ksGetStampColumnText numb ...
Все 6 способов выдают результат:
Error text: Ошибка выполнения Microsoft VBScript
Error code: 0
Code text:
Error description: Несоответствие типа: ‘stamp.ksGetStampColumnText’
#13 Ответ от Олег Зырянов 15 декабря 2010 14:37:07
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,246
Re: COM передать параметр по ссылке
давайте еще такой вариант (правда он имеет ряд плохих эффектов)
Set IStamp = stamp.ksGetStampColumnText( CLng(numb) )
#14 Ответ от Bolshakov_AV 15 декабря 2010 14:48:30 (изменено: Bolshakov_AV, 15 декабря 2010 14:57:31)
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Та же ошибка.
Попробовал на html — на VBScript и JScript ошибка та же
<HTML> <HEAD> <SCRIPT LANGUAGE="VBScript"> Sub test kStarted = 0 fileName = "D:\Bolshakov_AV\файло компасовое\Сопло\16.2-9.cdw" On Error Resume Next Set iKompasObject = GetObject(,"KOMPAS.Application.5") 'это если уже запущен If Err Then Set iKompasObject = CreateObject("KOMPAS.Application.5") kStarted = 1 Err.Clear End If On Error goto 0 iKompasObject.Visible = True ' показать компас 'открыть выгруженный файл Set Doc = iKompasObject.Document2D res = Doc.ksOpenDocument( fileName, False ) Set DocParams = iKompasObject.GetParamStruct(35) Call Doc.ksGetObjParam(Doc.reference, DocParams, -1) ' ALLPARAM If ((res=True) And (Doc.reference<>0) And (Not Doc Is Nothing)) Then Set stamp = Doc.GetStamp() If (Not stamp Is Nothing) Then If (stamp.ksOpenStamp() = 1) Then numb=CLng(1) stamp.ksColumnNumber( numb ) 'stamp.ksClearStamp(0) 'работает 'так и не работает Dim numb numb=CLng(1) Set IStamp = stamp.ksGetStampColumnText( numb ) ' та же ошибка! stamp.ksCloseStamp() End If End If Doc.ksSaveDocument( fileName ) Doc.ksCloseDocument() End If End Sub </SCRIPT> <SCRIPT LANGUAGE="JScript"> function test2() { var kStarted = 0; var fileName = "D:\\Bolshakov_AV\\файло компасовое\\Сопло\\16.2-9.cdw"; var iKompasObject = new ActiveXObject("KOMPAS.Application.5"); iKompasObject.Visible = true; var Doc = iKompasObject.Document2D(); res = Doc.ksOpenDocument( fileName, false ); var stamp = Doc.GetStamp(); res = stamp.ksOpenStamp(); if ( res == 1) { var numb=1; stamp.ksColumnNumber( numb ); //stamp.ksClearStamp(0); var IStamp = stamp.ksGetStampColumnText( numb );//ошибка stamp.ksCloseStamp(); } alert("end"); }; </SCRIPT> </SCRIPT> </HEAD> <BODY LANGUAGE="VBScript" onLoad="test2"> [...] </BODY> </HTML>
#15 Ответ от Олег Зырянов 15 декабря 2010 15:25:43
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,246
Re: COM передать параметр по ссылке
да язык то один.
Мы в подобных случаях в нашем АПИ (да и все остальные тоже) для скриптовых языков специальную обертку делали. Но какое сообщение об ошибке при этом идет не скажу точно, чтобы подтвердить что это именно тот случай.
#16 Ответ от Bolshakov_AV 15 декабря 2010 15:33:37
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Наверное придется делать библиотеку-прослойку на Delphi.
#17 Ответ от Bolshakov_AV 16 декабря 2010 13:46:51
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Нет ли у кого примера библиотеки на дельфи?
Делаю стандартно:
1. Делаю библиотеку:
File — New — Other — ActiveX — ActiveX Library
2. Делаю File — New — Other — ActiveX — Automation Object
Делаю в нем New Interface, создаю method. Описываю там действия соединения с компасом.
Компас открывает штамп, у штампа открываем columnText.
Теперь мне как-то нужно вернуть IDispacth* на него. А там только тип только HRESULT.
Как вернуть указатель?
Есть там New DispInterface, тогда у него методы могут возвращать IDispacth*.
Но их реализация в тексте вообще не появляется.
Или я может вообще не в том направлении копаю?
#18 Ответ от Олег Зырянов 17 декабря 2010 05:54:29
- Олег Зырянов
- Технический руководитель
- Неактивен
- Откуда: Новосибирск
- На форуме с 10 декабря 2008
- Сообщений: 4,246
Re: COM передать параметр по ссылке
Если хотите пользовать из скриптов — то только DispInterface можно пользовать, так как только он позволяет делать позднее связывание.
Можно завести PropertyGet, можно завести метод задав ему один и параметров как [out, retval]
#19 Ответ от Bolshakov_AV 17 декабря 2010 08:37:34
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
Олег Зырянов пишет:
Если хотите пользовать из скриптов — то только DispInterface можно пользовать, так как только он позволяет делать позднее связывание.
Я так и понял. Но как это делать — до меня не дошло. Если писать методы в просто Interface то среда Delphi автоматически создает их реализацию, а вот при DispInterface — нет. В общем чувствую что надо много читать про это дело и понимать.
Олег Зырянов пишет:
Можно завести PropertyGet, можно завести метод задав ему один и параметров как [out, retval]
Сроки поджимают, поэтому сделал именно так: через методы передаю параметры (типа ОткрытьКомпас, ОткрытьФайл(такой_то), СчитатьДанныеИзШтампа(номер_ячейки)), а через свойства считываю результат (ПолучитьСчитанныеДанные()).
Но хотелось бы разобраться в этом вопросе и переделать более красиво и правильно.
#20 Ответ от andrew1233 18 января 2011 12:47:37
- andrew1233
- Участник
- Неактивен
- На форуме с 18 января 2011
- Сообщений: 1
Re: COM передать параметр по ссылке
Добрый день! Я тоже столкнулся с этой проблемой и вот что мне ответили в Асконе..
VB скрипт не умеет работать с параметрами функций, передаваемыми через указатель, поэтому функции типа ksGetStampColumnText, где есть параметр numb, объявленный как указатель на long, в VB скрипт не работают.
И если можно поделитесь исходниками библиотеки, которую Вы делали/
#21 Ответ от Bolshakov_AV 18 января 2011 15:33:08 (изменено: Bolshakov_AV, 18 января 2011 15:34:53)
- Bolshakov_AV
- Участник
- Неактивен
- Откуда: Рыбинск, Ярославская обл.
- На форуме с 14 декабря 2010
- Сообщений: 18
Re: COM передать параметр по ссылке
andrew1233 пишет:
VB скрипт не умеет работать с параметрами функций, передаваемыми через указатель, поэтому функции типа ksGetStampColumnText, где есть параметр numb, объявленный как указатель на long, в VB скрипт не работают.
Мне ответили то же самое. Послали или в «нормальный» бейсик, или в нормальные языки Си/Дельфи или в Питон.
andrew1233 пишет:
И если можно поделитесь исходниками библиотеки, которую Вы делали/
Я так и не разобрался с Dispatch так что написано не красиво.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
При запуске или попытке открыть компасовский файл программа вылетает с ошибкой.
Сигнатура проблемы:
Имя события проблемы: APPCRASH
Имя приложения: KOMPAS.Exe
Версия приложения: 15.0.1.3080
Отметка времени приложения: 53c3af77
Имя модуля с ошибкой: kUI1.DLL
Версия модуля с ошибкой: 15.0.1.3080
Отметка времени модуля с ошибкой: 53c3aa60
Код исключения: c0000005
Смещение исключения: 000000000000e489
Версия ОС: 6.1.7601.2.1.0.256.1
Код языка: 1049
Дополнительные сведения 1: 5e28
Дополнительные сведения 2: 5e28d7a7f7757b9f2863704787cd1cd1
Дополнительные сведения 3: 1e88
Дополнительные сведения 4: 1e885214592301235273febc89ba363a
Компас 15.1 версии, переустановка не помогла. Как запустить компас?
Изменено пользователем TsP
Ошибка при выполнении приложения сервера «0x80080005» может возникнуть при запуске множества программ, включая explorer.exe, Windows Media Player, Google Chrome, Opera и других. В этой статье будут разобраны универсальные способы ее исправления, подходящие для любой программы и системы Windows 7, 8, 10.
Содержание статьи
- Простые и эффективные способы
- Редактирование реестра для Windows Media Player
- Восстанавливаем работу папок и проводника
- Дополнительные способы
- Комментарии пользователей
Простые и эффективные способы
Как и всегда начнем разбирать способы устранения проблемы, начиная с простых и заканчивая сложными. Поэтому, вот, что рекомендую сделать в первую очередь:
- Откройте «Панель управления» через «Пуск» или найдя ее в строке поиска. Затем выберите отображение мелких значков и щелкните по «Устранению неполадок». Следом выберите «Просмотр всех категорий». В списке найдите категорию приложения, с которым возникают проблемы и нажмите по ней. Затем следуйте указаниям помощника. После завершения перезагрузите компьютер.
- Откройте командную строку «Windows + R» — CMD. Введите поочередно каждую из команд, нажимая после каждой «Enter». Таким образом, будет выполнена перерегистрация системных библиотек данных.
regsvr32 jscript.dll
regsvr32 vbscript.dll
regsvr32 wmp.dll
Это перерегистрирует системные библиотеки.
- Найдите и устраните ошибки. В командной строке введите
sfc /scannow
и нажмите «Enter». После этого воспользуйтесь еще одной командой
Dism /Online /Cleanup-Image /RestoreHealth
- Если сбой возникает с Media Player, то переустановите его. В «Панели управления» войдите в «Программы и компоненты». Следом нажмите по «Включение и отключение компонентов». Откроется окно, в котором нужно найти медиа проигрыватель, снять с него галочку и перезагрузить компьютер. Потом снова включите ПК и в том же окне поставьте ранее убранную галочку и снова перезагрузитесь.
- Проверьте систему на вирусы. Многие из них вызывают сбои. Даже если установлен штатный антивирус, то не помешает дополнительно просканировать операционку с помощью антивирусных сканеров.
Для информации! Наиболее популярными и технически совершенными антивирусными программами являются «Kaspersky» (скачать бесплатно с официального сайта) и «Avast» (скачать бесплатно с официального сайта). Запустить в них сканирование системы на наличие вирусов можно в несколько кликов. Программы всю работу выполнят в автоматическом режиме.
- Постарайтесь вспомнить, не устанавливали ли вы в последнее время какие-то программы. Возможен конфликт между приложениями. Поэтому, по возможности, удалите ранее скаченное приложение и установите его заново. Есть вероятность того, что в прошлый раз при установке произошел какой-то сбой, нарушивший работу системы.
- Обновите операционку, включая драйвера.
- Иногда срабатывает обычный перезапуск проводника. Войдите в диспетчер задач, одновременно зажав клавиши «CTRL+SHIFT+DELETE» и затем во вкладку «Процессы». Найдите в списке «Проводник» или «explorer.exe», нажмите по нему правой мышкой и выберите «Снять задачу». Не закрывая диспетчер задач входим в меню «Файл» и выбираем «Запустить новую задачу». Вводим «explorer.exe» и жмем «Ок». После этого все должно заработать.
Если ни один из вариантов не помог, то переходите к более продвинутым способам решения.
Еще один способ, фигурирующий на официальном форуме поддержки Microsoft, заключается в редактировании реестра. Для этого потребуется последовательно выполнить несколько действий:
- Откройте командную строку от админа и введите в нее — unregmp2.exe /SwapTo:64, строго соблюдая регистр, знаки и пробелы.
- Нажмите «WIN + R» и напишите regedit.
- Перейдите по пути
HKLMSOFTWAREMicrosoftWindowsCurrentVersionApp Pathswmplayer.exe (можно просто вставить этот путь в верхнюю строку и нажать «Enter»).
- Дважды щелкните по параметру «Path» и в поле «Значение» уберите «(x86)». Все остальное остается. Смотрите скриншот.
- Перезагрузите компьютер.
Важно! Если это не поможет, то убедитесь, что установлены необходимые кодеки для воспроизведения нужного формата. Рекомендую использовать «K-Lite Codec Pack», но он не воспроизводит редкие форматы. Если это ваш случай, то возможно, понадобится поискать что-то другое.
К тому же, медиа файлы иногда скачиваются в «битом» виде, поэтому также попробуйте перекачать их и желательного с другого источника.
Восстанавливаем работу папок и проводника
Если ошибка при выполнении приложения сервера появляется при попытке открыть какую-либо папку или любой другой раздел через проводник «explorer.exe», то, скорее всего, ошибка возникает из-за присутствия неправильных путей.
Давайте проверим это и исправим.
- Заходим в реестр через «WIN + R» — regedit.
- Перемещаемся в ветку
HKCUSoftwareMicrosoftWindowsCurrentVersionExplorer (можно просто вставить этот в верхнюю строку текущего местоположения и нажать «Enter»).
- Здесь нас интересуют 2 раздела, это «Shell Folders» и «User Shell Folders». В каждом из них отыскиваем параметр «Personal» и жмем «Изменить».
- В графе «Значение» указываем правильный путь.
- Выполняем перезагрузку.
Еще один вариант — снять галочку с опции «Запускать окна с папками в отдельном процессе». Находится она во вкладке «Вид» проводника — «Параметры» — «Вид».
Также в реестре можно перейти по пути HKCUSoftwareMicrosoftWindowsCurrentVersionExploreradvanced и задать параметру «SeparateProcess» значение «0». После внесенных изменений рекомендуется выполнить перезагрузку ОС.
Дополнительные способы
Вот еще несколько пунктов, которые также дают хороший результат.
- Воспользуйтесь программой «CСleaner» (скачать с официального сайта) или «Advanced SystemCare» (скачать с официального сайта) для очистки и ремонта системы. Некоторым пользователям это помогало.
- Если созданы контрольные точки для отката, то можно использовать восстановление системы. Сочетанием «WIN + R» вызываем окно выполнения и вводим «rstrui.exe». Кликаем «Далее», отмечаем дату, когда все работало и жмем «Готово».
- Для пользователей Windows 10 и 8 добавлена новая функция — откат к предыдущему состоянию. Найти ее можно через функцию поиска. Настройки будут сброшены и получится система, как сразу после установки. При этом за вами остается возможность сохранить данные.
- Попробуйте переустановить приложение, которое вызывает ошибку сервера. Удалите его через специальный деинсталлятор, например, «Your Uninstaller», а потом установите заново. Помните, что новые версии программ не всегда работают стабильно. Поэтому еще один вариант — инсталлировать более старую версию.
Если проблема наблюдается со всеми приложениями без исключения или проявляется только периодически, то стоит проверить жесткий диск.
Как видно, методов, потенциально способных помочь при возникновении рассматриваемой ошибки, довольно много. Рекомендуется выполнять действия по ее устранению именно в том порядке, в котором они размещены в статье. Один из методов непременно окажется действенным.
Пишите в комментариях, если ничего не получилось. Будем разбираться вместе.
Видео по теме:
Please, pay attantion that now you are in public part of FAQ-Area. Register and find more FAQ-articles
in Personal Cabinet.
>
Technical Support FAQ
>
База знаний (FAQ)
>
Программное обеспечение
>
КОМПАС-Электрик
Problem:
При запуске:
- Утилиты обновления базы данных комплектующих,
- Менеджера библиотеки УГО,
- Менеджера базы данных комплектующих;
- При открытии по двойному клику файла-проекта (*.kpj)
Система выдает сообщение об ошибке:
Не удалось получить идентификатор для COM Server: “KOMPAS.Application.5”
Solution:
Вариант 1:
Произвести перегистрацию КОМПАС-3D, посредством запуска файла KOMPAS.Exe с ключом -register. (Например C:Program FilesASCONKOMPAS-3D V14BinKOMPAS.Exe -register)
Вариант 2:
Причина: Иногда после установки автоматических обновлений Windows (или по другим неустановленным причинам) на компьютере происходит повреждение системных компонентов доступа к базам данных «Microsoft/Windows Data Access Components» (MDAC/WDAC), в частности их составляющих – «ActiveX Data Objects» (ADO) и/или «OLEDB-провайдеров».
Решение:
1. Необходимо скачать пакет драйверов Microsoft Data Access Components, который устанавливает те же основные компоненты доступа к данным:
http://www.microsoft.com/downloads/ru-ru/details.aspx?FamilyID=78cac895-efc2-4f8e-a9e0-3a1afbd5922e ;
2. В свойствах скаченного файл MDAC_TYP, на вкладке Совместимость необходимо установить совместимость с Windows 2000;
3. Запустить пакет драйверов;
4. Перезагрузить компьютер.
Содержание
- Как устранить ошибку -2147221005(0x800401F3) в 1С?
- Причины
- Как исправить ошибку -2147221005(0x800401F3)?
- Регистрация объектов
- Отказ от устаревших объектов
- Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
- Подготовительные действия
- Подходы к решению
- Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
- Причины возникновения ошибки -2147221005(0x800401F3)
- Обновление конфигурации до последней версии
- Запускайте 1С с правами администратора
- Измените код программы
- Регистрация в системе компоненты comcntr.dll
- 2147221005(0x800401F3): Недопустимая строка с указанием класса — что делать?
- Суть и причины дисфункции
- Обновите вашу конфигурацию 1С до актуальной версии
- Запускайте 1С с правами админа
- Измените код программы
- Зарегистрируйте в системе библиотеку comcntr.dll
- Проверьте наличие установленного в системе Excel
- Используйте специализированные форумы 1С
- Заключение
- Странное поведение COM при обмене
Как устранить ошибку -2147221005(0x800401F3) в 1С?
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам. К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:WindowsSysWOW64regsvr32 /u “c:Program Files1cv88.3.17.1851bincomcntr.dll” и C:WindowsSysWOW64regsvr32 “c:Program Files1cv88.3.17.1851bincomcntr.dll”. Если результат будет неожиданным, скорее всего в вашей системе вместо Program Files нужно использовать Program Files (x86).
Если в тексте сообщения есть указание проблемного COM-объекта, нужно поработать с ним. Например, у некоторых пользователей проблема в MSXML2.XMLHTTP.4.0. Решением будет его регистрация или редактирование объекта. В конкретном случае нужно просто запустить редактор реестра, в поиск ввести MSXML2.XMLHTTP.4.0 и заменить значение с 4.0 на 6.0.
Отказ от устаревших объектов
Еще одна из наиболее вероятных проблем – обращение к устаревшему объекту. Если у вас где-то в коде есть строка COMConnector = Новый COMObject(«V82.COMConnector»);, то нужно заменить на актуальную версию V83.COMConnector. То же самое и с другими объектами, которые сейчас не поддерживаются.
Преимущественно одно из действий помогает устранить ошибку -2147221005(0x800401F3) в 1С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Источник
Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
Источник
Исправляем ошибку -2147221005(0x800401F3) при синхронизации ЗУП-БП
13.01.2021 1 мин. чтения
После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.
Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:
Причины возникновения ошибки -2147221005(0x800401F3)
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки -2147221005(0x800401F3) относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётной записи администратора).
Обновление конфигурации до последней версии
Вопрос обновления конфигурации 1С на примере «1С:Бухгалтерия 3.0» я рассматривал ранее. Поэтому здесь не имеет смысла описывать данный процесс.
Запускайте 1С с правами администратора
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки -2147221005(0x800401F3) является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Регистрация в системе компоненты comcntr.dll
Довольно часто ошибка возникает после обновления платформы, когда во время установки новой версии не регистрируется компонента comcntr.dll .
Для регистрации компоненты вручную необходимо выполнить в PowerShell от имени администратора следующие команды:
C:WindowsSysWOW64regsvr32 /u «c:Program Files1cv88.3.17.1851bincomcntr.dll» или C:WindowsSysWOW64regsvr32 /u «c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll»
C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.17.1851bincomcntr.dll» или C:WindowsSysWOW64regsvr32 «c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll»
«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.
После регистрации библиотеки скорей всего синхронизация заработает.
Источник
2147221005(0x800401F3): Недопустимая строка с указанием класса — что делать?
При выполнении каких-либо задач с комплексом 1С (фоновый обмен данными между компонентами, запуске нужной конфигурации, проверки выполнения кода etc) может появиться сообщение об ошибке 2147221005(0x800401F3). Последняя обычно сопровождается строкой « Недопустимая строка с указанием класса » и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами. Давайте разберёмся, что делать при появлении ошибки в вашей 1С.
Суть и причины дисфункции
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки 2147221005 относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С . К примеру, фиксировались случаи появления ошибки при использовании архаичной конфигурации «Управление торговлей» при попытке обмена данными с 1С «Бухгалтерия предприятия»;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо модерного «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll , имеющая важное значение для работы 1С;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётки администратора);
- В системе не установлен (не зарегистрирован) Excel , необходимый для работы 1С.
Давайте разберёмся, как исправить ошибку 2147221005 «Недопустимая строка с указанием класса» в вашей системе 1С.
Обновите вашу конфигурацию 1С до актуальной версии
Первым делом убедитесь, что вы используете самую свежую версию конфигурации 1С. При подключении к нужным базам для выполнения обмена она может попытаться использовать устаревшую платформу (к примеру, 8.2), которая фактически отсутствует. Потому обновите вашу версию конфигурации до актуального релиза, а потом попробуйте осуществить требуемое подключение.
Используйте свежую версию 1С
Запускайте 1С с правами админа
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки 2147221005 является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Зарегистрируйте в системе библиотеку comcntr.dll
Если вы пользуетесь Виндовс 64, то необходимо провести корректную регистрацию в системе библиотеки comcntr.dll . Нажмите на Win+R, введите следующую строку:
C:WindowsSysWOW64regsvr32 «c:Program Files(x86)1cv88.3.12.1469bincomcntr.dll»
Вместо «8.3.12.1469» укажите установленную у вас версию технологической платформы. После этого нажмите на ввод. Указанная регистрация может помочь избавиться от ошибки 2147221005 в 1С.
Проверьте наличие установленного в системе Excel
Наличие установленного в системе Excel является необходимым элементом при обращении к нему системы 1С. Потому рекомендуем убедиться, что Эксель в системе установлен корректно, для чего нажмите Win+R, введите там Excel , и нажмите ввод. Если программа запустилась, тогда всё работает корректно. Если нет, тогда следует установить (переустановить) Excel (комплекс «MS Office») на вашей машине (машинах).
Используйте специализированные форумы 1С
Если не один из указанных советов вам не помог, обратитесь к помощи форумов, которые посещают множество программистов и специалистов 1С. В частности, рекомендуем такие форумы как forum.infostart.ru, cyberforum.ru/1c-standard, is.ideasoft.in.ua где вам могут помочь в решении возникшей дисфункции.
Заключение
В нашем материале мы разобрали, когда появляется ошибка «2147221005(0x800401F3): Недопустимая строка с указанием класса», и как можно её исправить. Данная дисфункция может иметь различные причины, а для её решения рекомендуем задействовать весь комплекс способов, перечисленным нами выше. Их выполнение может помочь устранить ошибку 2147221005 в вашей системе 1С.
Источник
Всем доброе время суток !
Столкнулся со странным поведением COM.
На машине установлено два релиза 1С.
8.3.10.2252 32 разрядная и 8.3.11.3034 64 разрядная.
Есть база БП 3.0 (3.0.64.42).
В списке настроенных синхронизаций указана база ЗУП 3.1 находящаяся на этом же сервере 1С.
При попытке установить с ней COM соединение (Параметры подключения — Проверить подключение) получаю сообщение
Не удалось подключиться к другой программе. -2147221005(0x800401F3): Недопустимая строка с указанием класса
Делаю отмену регистрации библиотеки comcntr.dll для релиза 8.3.10.2252
regsvr32 «C:Program Files (x86)1cv88.3.10.2252bincomcntr.dll» /u
Отмена регистрации прошла успешно.
Делаю регистрации библиотеки comcntr.dll для релиза 8.3.11.3034
regsvr32 «C:Program Files1cv88.3.11.3034bincomcntr.dll»
Регистрация прошла успешно.
Что еще необходимо сделать ?
Ранее в конфигурации использовался справочник НастройкиВыполненияОбмена где прописывались релизы используемые для подключения. Но сейчас он не используется.
Кто сталкивался с этой проблемой просьба подсказать.
(10) Сервер перегрузил, ошибка осталась.
Какие то чудеса.
Есть база БП 3.0 (3.0.64.42).
В списке настроенных синхронизаций указана база ЗУП 3.1 находящаяся на этом же сервере 1С.
При попытке установить с ней COM соединение (Параметры подключения — Проверить подключение) получаю сообщение
Не удалось подключиться к другой программе. -2147221005(0x800401F3): Недопустимая строка с указанием класса
Ошибка точно выглядит так:
Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса
(21) На сервере нашел интересный момент
Существуют регистрации comcntr.dll по путям которых нет в системе (возможно ранее была установлена 32 разрядная версия 1С и зарегистрирована dll).
Я так понимаю что лучше это удалить ?
(23) (24)
Хоть ты тресни. Ничего не помогает.
Останавливаю агент сервера.
В списке настроенных синхронизаций указана база ЗУП 3.1 находящаяся на этом же сервере 1С.
Открываю ее параметры. Проверить подключение.
При попытке установить с ней COM соединение (Параметры подключения — Проверить подключение) получаю сообщение
Не удалось подключиться к другой программе. -2147221005(0x800401F3): Недопустимая строка с указанием класса
Единственное что смущает — на сервере установлена англоязычная версия 1С (все диалоги на английском). В этом может быть дело ?
Но ведь 1С нормально же заходит в БП и ЗУП. Почему же COM подключение не работает ?
(32) >Таки для чего именно х64 ком-конектор?
Потому что на сервере стоит 64 битная 1С. В каталоге
Соответственно comcntr.dll лежит в этом же каталоге.
(33) У тебя написано в (18)
Сделал все как в ней сказано. Начиная с остановки службы сервера 1С. Далее удаление регистрации компонент. Далее регистрация. Далее перезагрузка сервера.
(38) Новое место работы. Сервер 1С до этого ставил сисадмин. Зачем он поставил 64 разрядную версию внятно ответить не может.
Как только бухи сдадут квартальную отчетность буду переставлять сервер 1С.
(38) У сисадмина сервер 1С на котором крутятся базы БП и ЗУП до этого работал виртуальной машиной. Были большие тормоза. Он его снес и поставил на отдельную машину. Зачем поставил 64 разрядный сервер если на сервере крутится только база БП с 5 пользователями и база ЗУП одному ему известно.
Причем самое веселое что сервер 1С для бухгалтерии он решил переставить во время сдачи отчетности.
1. На сервере установлена только одна 1С.
Этой версии 1С на сервере нет но в реестре ссылки на comcntr.dll от 32 разрядной версии остались.
Путь к comcntr.dll я поправил на 64 разрядную.
(47) >Я спрашиваю именно про разрядность клиента и COM конектора
Если честно вопрос не совсем понял.
У меня на сервере установлена 64 разрядная 1С.
Каталог
Других 1С на сервере нет.
(57) Я выше писал что у меня 1С на сервере установлена ТОЛЬКО в каталог C:Program Files1cv88.3.11.3034
Соответственно у меня и сервер 64 разрядный и клиент.
(51) >5-10 минутное дело пересадки сервера 1ц с 64 на 32 бит версию растянули на
Если бы было так все просто.
А то что на этом сервере работают бухи и идет процесс сдачи отчетности вы упускаете ? Вы предлагаете снести сервер на котором крутятся ВСЕ базы БП и ЗУП, при этом бухи работать с базами не смогут. После переустановки сервера опять с нуля регистрация всех баз 1С.
А если что-то пошло не так и опять нужна переустановка ?
А бухи сидят и ждут.
Вариант делать это после работы или ночью конечно возможен но это удовольствие не для всех.
(61) Вы предлагаете поставить на сервер две 1С — одну в каталог C:Program Files1cv88.3.11.3034 и из нее запускать сервер 1С C:Program Files1cv88.3.11.3034binragent.exe
Только для запуска сервера.
и использовать только для запуска клиента ?
(63) >Сервер как стоял х64, так пусть и стоит себе. Надо только поставить клиента х32
Можете пояснить — зачем ?
У меня на сервере стоит 64 разрядная 1С. Других там нет.
Да были какие-то хвосты регистрации в реестре comcntr.dll из 32 разрядной 1С. При том что самой 32 разрядной 1С (из папки C:Program Files (x86)1cv88.3.11.3034 на сервере нет. Я поменял путь в реестре с «C:Program Files (x86)1cv88.3.5.1119bincomcntr.dll» на «C:C:Program Files1cv88.3.11.30341cv88.3.5.1119bincomcntr.dll»
Дальше получается следующее.
Вне зависимости от того где зашел клиентом в 1С (с локальной машины или на сервере) происходит проявление ошибки COM при попытке произвести тестовое подключение из БП в ЗУП в штатной процедуре обмена БП-ЗУП.
Теперь давайте думать логически.
Если бы проблема с COM была только при заходе в 1С с клиентских машин а при заходе в 1С с сервера ее не было то надо было бы копать в сторону клиентских машин и клиентских версий.
Но проблема происходит все зависимости от того с какой машины (с локальной или с сервера) зайти в 1С.
В связи с этим чем поможет установка 32 разрядного клиента на сервере если при заходе в 1С с клиентских машин он участвовать не будет ?
(63) «Полный дистрибутив платформы и х32 и х64 содержат как различных клиентов, так и сервер. Ну и плюс сопутствующие компоненты навроде СОМ конектора. Есть даже отдельный дистрибутив с сервером х64, который не содержит клиента. Надо смотреть что именно стоит, какие флаги были выбраны при установке. «
Где вы видели такие пункты ?
Больше нет ничего.
Никакой отдельной возможности поставить COM коннектор в дистрибутиве нет.
Собственно если в установленных программах на 1С этого релиза нажать «Изменить» то будет видно какие компонеты можно выбрать.
Источник
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
regsvr32 "<путь к каталогу установки 1С>bincomcntr.dll"
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
Как убрать ошибку 1С «-2147221005(0x800401F3): Недопустимая строка с указанием класса»
Как правило, сообщение возникает при фоновом обмене данными между системами или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Причина связана с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Подходы к решению
1. Проверьте, что обмен запускается в сеансе учетной записи, имеющей достаточные права на уровне 1С и ОС Windows.
В частном случае, если служба Агента сервера 1С работает под технологической записью, а для обмена требуется доступ к файловой ИБ — добавьте NTFS-разрешения на каталог для этого пользователя (права «Изменение»).
2. Зарегистрируйте в системе компоненту comcntr.dll, выполнив операцию в командной строке от имени администратора:
regsvr32 “%ProgramFiles%1cv88.3.xx.xxxxbincomcntr.dll”
Для x64-систем может потребоваться запуск с расположения %SystemRoot%SysWOW64, по умолчанию — %SystemRoot%system32
Как быстро решить проблему отсутствия DLL на компьютере
- %ProgramFiles% — путь к папке программных файлов (отличается в зависимости от разрядности ОС/1С и вашего системного диска, например — «C:Program Files» или «C:Program Files (x86)»);
- 8.3.xx.xxxx — релиз вашей платформы.
Источник: dzen.ru
Как устранить ошибку -2147221005(0x800401F3) в 1С?
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам.
К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Как удалить программу, которая не удаляется. Удаление вручную. (Видео 1)
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:WindowsSysWOW64regsvr32 /u “c:Program Files1cv88.3.17.1851bincomcntr.dll” и C:WindowsSysWOW64regsvr32 “c:Program Files1cv88.3.17.1851bincomcntr.dll”. Если результат будет неожиданным, скорее всего в вашей системе вместо Program Files нужно использовать Program Files (x86).
Если в тексте сообщения есть указание проблемного COM-объекта, нужно поработать с ним. Например, у некоторых пользователей проблема в MSXML2.XMLHTTP.4.0. Решением будет его регистрация или редактирование объекта. В конкретном случае нужно просто запустить редактор реестра, в поиск ввести MSXML2.XMLHTTP.4.0 и заменить значение с 4.0 на 6.0.
Отказ от устаревших объектов
Еще одна из наиболее вероятных проблем – обращение к устаревшему объекту. Если у вас где-то в коде есть строка COMConnector = Новый COMObject(«V82.COMConnector»);, то нужно заменить на актуальную версию V83.COMConnector. То же самое и с другими объектами, которые сейчас не поддерживаются.
Преимущественно одно из действий помогает устранить ошибку -2147221005(0x800401F3) в 1С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Источник: gamesqa.ru
Ошибка -2147221005(0x800401F3): Недопустимая строка с указанием класса
Как правило, ошибка возникает при фоновом обмене данными между базами 1С или запуске синхронизации вручную. Что делать при появлении этой ошибки и куда смотреть.
Текст: «Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса».
Причины связаны с незарегистрированными в системе компонентами — comcntr.dll, ошибками доступа (недостаточно прав).
Решение — в регистрации библиотеки comcntr.dll из каталога программы для корректного вызова COMConnector.
Подготовительные действия
- отключите службу Агента сервера 1С:Предприятия и программы, возможно использующие регистрируемую DLL;
- если ранее использовалась библиотека устаревшей версии, удалите регистрацию comcntr.dll, запустив команду вызова regsvr32 с ключом /u.
Подходы к решению
1. Регистрация библиотеки comcntr.dll
В командной строке с правами Администратора выполните команду:
regsvr32 «bincomcntr.dll»
При удачном выполнении вы увидите сообщение: «Успешное выполнение DllRegisterServer в comcntr.dll».
2. Переустановка платформы с внесением исправлений
Переустановите технологическую платформу 1С в режиме «Исправить» и отметьте COM-соединение.
3. Регистрация коннектора вручную
Регистрация приложения и коннектора вручную:
- запускаем консоль «Службы компонентов»;
- добавляем новый элемент, переходим «Компьютеры» — «Мой компьютер» — из списка выбираем «Приложения COM+»;
- выбираем «Создать» — «Приложение»;
- в Мастере установки выбираем второй вариант «Создать новое приложение», в поле «Введите имя нового приложения:» вводим «V83COMConnector», «Способ активации» устанавливаем «Серверное приложение», нажимаем «Далее»;
- выбираем учетную запись под которой запускается приложение, по умолчанию — «Текущий (вошедший в систему) пользователь»;
- на этапах «Добавление ролей приложения» и «Добавление пользователей для ролей» нажимаем «Далее», а затем «Готово».
В ветке только что созданного приложения переходим в подветку «Компоненты» и создаем компонент:
- в контекстном меню выбираем «Создать» — «Компонент»;
- кликаем по первому варианту «Установка новых компонентов»;
- в открывшемся диалоге выбираем необходимый файл comcntr.dll и нажимаем «Открыть»;
- нажимаем «Далее» и «Готово».
Обратите внимание: после установки измените свойства объекта. Для этого переходим к ветке V83COMConnector:
- открываем свойства созданного компонента, переходим в ветку V83COMConnector — «Свойства»;
- на вкладке «Безопасность», в «Авторизация» снимаем флаг «Принудительная проверка доступа для приложений»;
- в «Политика программных ограничений» устанавливаем флаг «Применить политику программных ограничений» и выбираем «Уровень ограничений:» — «Неограниченный»;
- нажимаем «Применить» — «ОК».
Полная версия со снимками экранов — в статье на Дзен-канале.
Класс V83COMConnector зарегистрирован и доступен для подключения к информационным базам. Обмен данными между базами восстановлен, и фоновый процесс завершается без ошибок.
Если не получается и требуется дополнительная поддержка — наши специалисты готовы вам помочь → +7-911-500-10-11
Источник: nastroyka-1c.ru
Ошибка при вызове конструктора (COMОбъект) на 32 и 64 битных системах
На эту тему уже есть статья //infostart.ru/public/97085/, но она не раскрывает особенностей работы в ОС Windows выше XP и не затрагивает тонкости регистрации под 64 разрядной системой. Для кого-то здесь описаны очевидные вещи, а кто-то слаб в администрировании и статья пишется прежде всего на последнюю категорию.
Итак, приступим. Если у вас при работе в 1С появилась ошибка вида: «-2147221164(0x80040154): Класс не зарегистрирован» или «Ошибка при вызове конструктора (COMОбъект): Недопустимая строка с указанием класса»
тогда делаем следующее:
1) Запускаем командную строку от имени Администратора. Если в командной строке прописан путь, отличный от «c:windowssystem32», то необходимо выполнить команду «cd c:windowssystem32» для 32-х разрядных систем или «cd windowssyswow64» для 64-х(у меня 64, поэтому пришлось в примере путь изменить). В итоге корневой путь для х64 должен выглядеть как на этом скрине:
2) Далее прописываем команду regsvr32 «C:Program Files1cv88.3.ХХ.ХХХХbincomcntr.dll». Путь к библиотеке comcntr.dll нужно взять в кавычки из-за имеющихся пробелов в пути, ну а вместо 8.3.ХХ.ХХХХ ставите свой номер релиза платформы. Результат выполнения:
Тестировалось на платформе 8.3.11.2867 х64
Всем удачи в регистрации библиотек)
Источник: infostart.ru
2147221005(0x800401F3): Недопустимая строка с указанием класса — что делать?
При выполнении каких-либо задач с комплексом 1С (фоновый обмен данными между компонентами, запуске нужной конфигурации, проверки выполнения кода etc) может появиться сообщение об ошибке 2147221005(0x800401F3). Последняя обычно сопровождается строкой « Недопустимая строка с указанием класса » и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами. Давайте разберёмся, что делать при появлении ошибки в вашей 1С.
Суть и причины дисфункции
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки 2147221005 относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С . К примеру, фиксировались случаи появления ошибки при использовании архаичной конфигурации «Управление торговлей» при попытке обмена данными с 1С «Бухгалтерия предприятия»;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо модерного «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll , имеющая важное значение для работы 1С;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётки администратора);
- В системе не установлен (не зарегистрирован) Excel , необходимый для работы 1С.
Давайте разберёмся, как исправить ошибку 2147221005 «Недопустимая строка с указанием класса» в вашей системе 1С.
Обновите вашу конфигурацию 1С до актуальной версии
Первым делом убедитесь, что вы используете самую свежую версию конфигурации 1С. При подключении к нужным базам для выполнения обмена она может попытаться использовать устаревшую платформу (к примеру, 8.2), которая фактически отсутствует. Потому обновите вашу версию конфигурации до актуального релиза, а потом попробуйте осуществить требуемое подключение.
Запускайте 1С с правами админа
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки 2147221005 является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Зарегистрируйте в системе библиотеку comcntr.dll
Если вы пользуетесь Виндовс 64, то необходимо провести корректную регистрацию в системе библиотеки comcntr.dll . Нажмите на Win+R, введите следующую строку:
C:WindowsSysWOW64regsvr32 «c:Program Files(x86)1cv88.3.12.1469bincomcntr.dll»
Вместо «8.3.12.1469» укажите установленную у вас версию технологической платформы. После этого нажмите на ввод. Указанная регистрация может помочь избавиться от ошибки 2147221005 в 1С.
Проверьте наличие установленного в системе Excel
Наличие установленного в системе Excel является необходимым элементом при обращении к нему системы 1С. Потому рекомендуем убедиться, что Эксель в системе установлен корректно, для чего нажмите Win+R, введите там Excel , и нажмите ввод. Если программа запустилась, тогда всё работает корректно. Если нет, тогда следует установить (переустановить) Excel (комплекс «MS Office») на вашей машине (машинах).
Используйте специализированные форумы 1С
Если не один из указанных советов вам не помог, обратитесь к помощи форумов, которые посещают множество программистов и специалистов 1С. В частности, рекомендуем такие форумы как forum.infostart.ru, cyberforum.ru/1c-standard, is.ideasoft.in.ua где вам могут помочь в решении возникшей дисфункции.
Заключение
В нашем материале мы разобрали, когда появляется ошибка «2147221005(0x800401F3): Недопустимая строка с указанием класса», и как можно её исправить. Данная дисфункция может иметь различные причины, а для её решения рекомендуем задействовать весь комплекс способов, перечисленным нами выше. Их выполнение может помочь устранить ошибку 2147221005 в вашей системе 1С.
Источник: rusadmin.biz
После обновления платформы 1С при синхронизации данных может появляться сообщение об ошибке -2147221005(0x800401F3). Данная ошибка обычно сопровождается строкой «Недопустимая строка с указанием класса» и связана с неверным кодом программы, не зарегистрированными в системе компонентами и другими релевантными факторами.
Например, во время синхронизации возникает ошибка Обмен данными.ОбменЗарплата3Бухгалтерия3.Отправка данных со следующим содержимом:
Не удалось подключится к другой программе: -2147221005(0x800401F3): Недопустимая строка с указанием класса {ОбщийМодуль.ОбщегоНазначенияСлужебныйКлиентСервер.Модуль(393)}: COMConnector = Новый COMObject(ОбщегоНазначенияКлиентСервер.ИмяCOMСоединителя()); // "V83.COMConnector" {ОбщийМодуль.ОбщегоНазначения.Модуль(2830)}: Возврат ОбщегоНазначенияСлужебныйКлиентСервер.УстановитьВнешнееСоединениеСБазой(Параметры, ПодключениеНедоступно, КраткоеОписаниеОшибки); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(12564)}: ЗаполнитьПараметрыПодключенияВнешнегоСоединения(СтруктураНастроек)); {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1185)}: РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспорта( {ОбщийМодуль.ОбменДаннымиПовтИсп.Модуль(1164)}: Результат = ВнешнееСоединениеДляУзлаИнформационнойБазы(УзелИнформационнойБазы); {ОбщийМодуль.ОбменДаннымиСервер.Модуль(6701)}: ВнешнееСоединение = ОбменДаннымиПовтИсп.ПолучитьВнешнееСоединениеДляУзлаИнформационнойБазы( {ОбщийМодуль.ОбменДаннымиСервер.Модуль(3952)}: ВыполнитьДействиеОбменаДляУзлаИнформационнойБазыПоВнешнемуСоединению(Отказ, {Обработка.ВыполнениеОбменаДанными.МодульМенеджера(38)}: ОбменДаннымиСервер.ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы( {(1)}:Обработки.ВыполнениеОбменаДанными.ВыполнитьЗапускОбменаДанными(Параметры[0],Параметры[1]) {ОбщийМодуль.ОбщегоНазначения.Модуль(5113)}: Выполнить ИмяМетода + "(" + ПараметрыСтрока + ")"; {ОбщийМодуль.ДлительныеОперации.Модуль(1036)}: ОбщегоНазначения.ВыполнитьМетодКонфигурации(ИмяПроцедуры, ПараметрыВызова); {ОбщийМодуль.ДлительныеОперации.Модуль(1026)}: ВызватьПроцедуру(ВсеПараметры.ИмяПроцедуры, ВсеПараметры.ПараметрыПроцедуры); по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины возникновения ошибки -2147221005(0x800401F3)
Данная ошибка относится к регулярно встречающимся ошибкам 1С, и фиксируется у многих пользователей. Единственного и эффективного рецепта её решения не существует, так как она может иметь уникальную основу, и вызывается особенностями программного кода в конкретной системе.
Тем не менее к числу наиболее популярных причин ошибки -2147221005(0x800401F3) относятся следующие:
- Пользователь использует устаревшую конфигурацию 1С;
- Наличие некорректного кода программы (к примеру, обращение к устаревшему «V82.COMConnector» вместо «V83.COMConnector»);
- В системе не зарегистрирована библиотека comcntr.dll;
- У пользователя, запускающего определённый комплекс 1С, нет достаточных прав для работы с ним (к примеру, запуск выполняется из гостевой учётной записи, вместо учётной записи администратора).
Обновление конфигурации до последней версии
Вопрос обновления конфигурации 1С на примере «1С:Бухгалтерия 3.0» я рассматривал ранее. Поэтому здесь не имеет смысла описывать данный процесс.
Запускайте 1С с правами администратора
Убедитесь, что вы запускаете систему под учётной записью администратора, а не ограниченного в правах «Гостя» или аналога.
Измените код программы
В некоторых случаях код программы может устареть и не соответствовать текущей версии 1С. Эффективным решением ошибки -2147221005(0x800401F3) является замена строки кода:
COMConnector = Новый COMObject(«V82.COMConnector»);
на строку:
COMConnector = Новый COMObject(«V83.COMConnector»);
После указанной замены проблема может быть решена.
Регистрация в системе компоненты comcntr.dll
Довольно часто ошибка возникает после обновления платформы, когда во время установки новой версии не регистрируется компонента comcntr.dll
.
Для регистрации компоненты вручную необходимо выполнить в PowerShell от имени администратора следующие команды:
C:WindowsSysWOW64regsvr32 /u "c:Program Files1cv88.3.17.1851bincomcntr.dll"
или C:WindowsSysWOW64regsvr32 /u "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"
Затем
C:WindowsSysWOW64regsvr32 "c:Program Files1cv88.3.17.1851bincomcntr.dll"
или C:WindowsSysWOW64regsvr32 "c:Program Files (x86)1cv88.3.17.1851bincomcntr.dll"
«8.3.17.1851» вам необходимо заменить на вашу версию платформы 1С.
После регистрации библиотеки скорей всего синхронизация заработает.
Последние статьи:
Ошибка -2147221005(0x800401F3) возникает в 1С преимущественно при инициации синхронизации данных в ручном порядке, но может появиться и без видимых причин, во время фоновой работы. Количество случаев резко увеличивается после каждого обновления 1С Бухгалтерии. Чтобы обмен данными с базой заработал нормально, придется выполнить несколько действий вручную, так как без вмешательства извне здесь не обойтись.
Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса
Причины
Спровоцировать ошибку могут разные неполадки и в тексте сообщения может быть указан виновник сбоя. Так бывает не всегда, порой дополнительной информации там не указано и приходится искать в ручном режиме.
Основные причины ошибки -2147221005(0x800401F3):
- отсутствует регистрация определенного СОМ-объекта, к которому сейчас происходит обращение;
- недостаточно прав для выполнения процедуры, хотя обычно в этом случае появляется другая ошибка;
- попытка запроса устаревшего или отсутствующего объекта.
Как исправить ошибку -2147221005(0x800401F3)?
Как следует из перечня причин ошибки, может быть несколько решений данного сбоя. И первым делом стоит проверить права пользователя, который запустил процедуру, спровоцировавшую ошибку. Возможно, нужно повысить его полномочия, расширив доступ к важным компонентам. К примеру, служба Агента сервера 1С запускается с технологической записью, но обмен данными требует использование файловой ИБ. В этом случае следует добавить разрешение NTFS для конкретного доступа. Это довольно банальное действие, поэтому расписывать не имеет смысла.
Регистрация объектов
Очень часто причиной сбоя становится незарегистрированная библиотека comcntr.dll, но не она одна. Чтобы провести регистрацию, нужно ввести в командную строку несколько команд: C:WindowsSysWOW64regsvr32 /u “c:Program Files1cv88.3.17.1851bincomcntr.dll” и C:WindowsSysWOW64regsvr32 “c:Program Files1cv88.3.17.1851bincomcntr.dll”. Если результат будет неожиданным, скорее всего в вашей системе вместо Program Files нужно использовать Program Files (x86).
Если в тексте сообщения есть указание проблемного COM-объекта, нужно поработать с ним. Например, у некоторых пользователей проблема в MSXML2.XMLHTTP.4.0. Решением будет его регистрация или редактирование объекта. В конкретном случае нужно просто запустить редактор реестра, в поиск ввести MSXML2.XMLHTTP.4.0 и заменить значение с 4.0 на 6.0.
Отказ от устаревших объектов
Еще одна из наиболее вероятных проблем – обращение к устаревшему объекту. Если у вас где-то в коде есть строка COMConnector = Новый COMObject(«V82.COMConnector»);, то нужно заменить на актуальную версию V83.COMConnector. То же самое и с другими объектами, которые сейчас не поддерживаются.
Преимущественно одно из действий помогает устранить ошибку -2147221005(0x800401F3) в 1С. За редкими исключениями все должно работать стабильно. Мы же ожидаем, что вы напишете – удалось ли решить проблему и что было сделано.
Компас электрик как запустить
Продолжаем изучать вместе
Сейчас готовится к выходу очередная версия КОМПАС-Электрик. Основной акцент в данной версии сделан на повышение качества системы за счет оптимизации алгоритмов работы ее ядра.
В предыдущей статье («САПР и графика» № 5’2004 «КОМПАС-Электрик — изучаем вместе. Работаем с базами данных») мы рассматривали «сердце» системы — базу данных. Теперь же речь пойдет о Редакторе схем и отчетов, с помощью которого осуществляется выпуск документов проекта электрооборудования, а точнее — о стратегии работы над проектом, вводе исходных данных и построении принципиальной электрической схемы.
Редактор схем и отчетов построен на базе чертежно-графической системы КОМПАС-График. КОМПАС-Электрик расширяет предоставляемый базовый набор инструментов для построения геометрических объектов и разработки текстовых документов в «сторону» электротехники.
Работа в Редакторе схем и отчетов начинается с создания проекта. В терминах КОМПАС-Электрик проект — это комплект документов на изготовление и сопровождение электрооборудования электрифицируемого изделия. Проект представляет собой один файл, который с помощью встроенного в Редактор схем и отчетов Менеджера проектов разворачивается в дерево проекта (рис. 1).
Рис. 1
Изделие, разрабатываемое в КОМПАС-Электрик, состоит из электротехнических аппаратов, устанавливаемых на несущих конструкциях — поверхностях (панели, стены, пульты). Эти поверхности , в свою очередь, устанавливаются в оболочках (ящики, шкафы, камеры), являясь тем самым элементами ее конструкции. Структура изделия представляется в Менеджере проектов в виде дерева на уровне Комплектующие.
Конструктор может начать работу над проектом по-разному: с ввода исходных данных по проекту (выбирая комплектующие) или с разработки документов проекта, причем это может быть любой документ проекта. Мы рекомендуем начинать работу с принципиальной электрической схемы, хотя оба указанных варианта вполне могут пересекаться: в системе отсутствует жестко заданная технологическая последовательность проектирования, что выгодно отличает ее от ряда конкурирующих аналогов.
При вводе исходных данных конструктор определяет количество оболочек и их типы, которые можно выбрать из базы данных или описать вручную. «Внутри» оболочек описываются поверхности и при необходимости им назначаются типы из базы данных или они вводятся вручную. И уже на поверхности непосредственно из базы данных комплектующих добавляются аппараты. При добавлении аппарата ему назначается позиционное обозначение, которое является основным идентификатором в проекте. По ходу работы над проектом конструктор может перемещать аппараты как между поверхностями одной оболочки, так и между разными оболочками изделия.
Рис. 2
Каждому аппарату в изделии может быть назначен сопутствующий элемент, в качестве которого могут выступать конструктивные элементы (кронштейны, стойки и т.п.) или другие электрические аппараты. В последнем случае появляется возможность расширять первоначальный набор функциональных частей основного аппарата (например, за счет присоединения контактной приставки у магнитного пускателя увеличивается набор свободных контактов). Таким образом, сопутствующие элементы — это изделия дополнительного заказа.
При появлении электрического соединения между аппаратами, установленными на разных поверхностях, на трассе этого соединения формируется клемма. Клемма добавляется в клеммник (рис. 2). Наличие клеммника на поверхности определяется в настройках системы. При отсутствии клеммника на поверхности внешние связи автоматически ведутся непосредственно на выводы аппаратов.
После ввода данных оптимальным шагом является начало разработки принципиальной схемы (Э3), поскольку именно она дает полное представление о составе изделия и электрических связях в нем (рис. 3). Для разработки принципиальной схемы в системе предусмотрен ряд функций, которые мы рассмотрим далее.
Рис. 3
Преимущества использования системы
• Повышается скорость создания и оформления документов проекта — система обладает функциями автоматического формирования большей части документов в проекте.
• Исключение рутинных операций — каждая комплектующая единица проекта вводится только один раз, и при формировании различных документов дальнейшее использование ее данных происходит автоматически.
• Повышение качества выпускаемых предприятием изделий — система обладает рядом элементарных контрольных функций, отсутствующих при ручном проектировании.
• Рост качества оформления документов — все графические обозначения электроаппаратов во всех документах проекта приведены к единому представлению, элементы оформления чертежей полностью соответствуют требованиям ЕСКД.
• Единое информационное пространство предприятия — наличие комплекса CAD/CAM/CAE/PDM-систем компании АСКОН позволяет всем подразделениям предприятия, как конструкторским, так и технологическим, работать в едином информационном пространстве.
Все эти преимущества повышают конкурентоспособность изделий, а соответственно и самого предприятия.
Создание листовых деталей и обечаек
Для машиностроения и приборостроения характерной задачей является работа по проектированию и последующему изготовлению изделий из листового металла. В КОМПАС-3D присутствует богатый инструментарий по проектированию таких деталей, позволяющий создавать самые сложные конструкции из листа, с последующим автоматическим получением развертки на спроектированные детали. При проектировании листовых деталей и обечаек будет просто создавать детали с использованием:
- обечайки,
- сгибов,
- подсечек,
- вырезов,
- элементов открытой и закрытой штамповки,
- жалюзи и буртиков.
Проектирование с применением сложных поверхностей
При проектировании деталей со сложной геометрией будет полезен функционал по поверхностному моделированию. Подобные задачи встречаются и при проектировании лопаток, и при проектировании корпусов приборов, которые изготавливаются из пластика. Использование поверхностного моделирования позволит получить детали самой различной формы и тем самым обеспечить требования, выдвигаемые к данным изделиям — будь то обтекаемость или эргономика. Имеется множество вариантов построения сложных поверхностей:
- выдавливанием,
- вращением,
- кинематической операцией,
- по сечениям,
- по точкам,
- по пласту точек,
- по сети кривых.
Формирование электронной модели изделий
Проектируя в КОМПАС-3D, вы получаете электронную модель, которая может содержать в себе данные, необходимые для изготовления и последующих жизненных этапов вашего изделия. Созданная в КОМПАС-3D модель уже сейчас может содержать:
- свойства и наименование материала,
- размеры с учетом допуска,
- технические требования,
- шероховатость,
- допуски формы,
- обозначение баз,
- обозначение мест клеймения и маркирования.
Более того, получить документацию на такое изделие вы сможете автоматически. Спецификация формируется по 3D-модели сборочной единицы, а создание чертежей будет заключаться в расположении на формате чертежа ассоциативных видов с 3D-модели.
Простота в освоении и использовании
Система имеет простой и понятный интерфейс, который позволяет быстро освоить функционал и приступить к работе. Чтобы первые шаги по работе в системе были легче, КОМПАС-3D содержит интерактивные уроки для изучения основного инструментария, которые собраны в «Азбуке КОМПАС-3D». Данная азбука поможет вам на готовых примерах разобраться с возможностями КОМПАС-3D и в кратчайшие сроки начать решать рабочие задачи. «Азбука КОМПАС-3D» содержит примеры:
- создания твердотельной и поверхностной модели,
- создания деталей и сборочных единиц,
- создания листовых деталей,
- коллективной работы над сборками.
Скачать пробную версиюЗадать вопросГде купить
КОМПАС 3D 13 SP1 32-bit [2012, САПР]
Год выпуска: 2012Жанр: САПРРазработчик: АСКОНСайт разработчика: http://ascon.ru/Язык интерфейса: РусскийТип сборки: StandardРазрядность: 32-bitОперационная система: Windows XP, Vista, 7Описание: КОМПАС-3D — система трёхмерного моделирования, ставшая стандартом для тысяч предприятий, благодаря удачному сочетанию простоты освоения и лёгкости работы с мощными функциональными возможностями твердотельного и поверхностного моделирования. Ключевой особенностью продукта является использование собственного, разработанного специалистами АСКОН, математического ядра и параметрических технологий. О …
Менеджер базы данных комплектующих
Именно менеджер базы данных комплектующих позволяет собрать воедино всю информацию об изделии, «привязав» графическое представление к текстовым записям. Он предоставляет инструментарий для формирования структуры хранения комплектующих изделий, внесения в базу данных новых изделий и редактирования существующих.
Каждое типоисполнение изделия в базе данных описывается одной записью таблицы. Запись таблицы состоит из набора параметров (ячеек таблицы). Некоторые из этих параметров являются постоянными, а другие зависят от класса изделий, которые хранятся в таблице.
К постоянным параметрам относятся:
1. Спецификационные характеристики изделия:
• полное наименование изделия;
• имя раздела спецификации;
• данные для ведомости покупных изделий (поставщик и ОКП);
• изделия дополнительного заказа (например, для магнитного пускателя это могут быть контактная приставка и крепежные элементы).
2. Сведения о содержании драгоценных металлов. Эти сведения используются для формирования ведомости содержания драгоценных металлов в разрабатываемом устройстве.
3. Технические характеристики изделия:
• основные технические характеристики изделия, определяющие выбор того или иного типоисполнения изделия при разработке проекта электрооборудования. Набор этих характеристик для каждого конкретного типа или серии изделия пользователь определяет самостоятельно;
• паспорт на изделие или его каталожный листок в электронном формате PDF.
В свою очередь, класс таблицы определяет набор уникальных параметров, характерных для конкретного класса изделия. Например, для электроаппаратов и кабелей предусматриваются следующие наборы параметров:
1. Электроаппараты:
• перечень УГО для каждого типа схем (принципиальные, монтажно-коммутационные, расположения). Перечень составляется по ассоциативной связи из библиотеки УГО, то есть одно и то же УГО может быть назначено нескольким типам аппаратов;
• перечень зажимов и их основные технические характеристики.
2. Кабели и провода:
• структура кабеля наличие скруток, экранирования и их вхождение друг в друга;
• перечень жил и их основные технические характеристики.
Как и библиотека УГО, база данных комплектующих является единой для всех пользователей системы, работающих в локальной сети. Это обеспечивает единство в использовании комплектующих изделий проекта. Расширение базы данных может вестись не только посредством указанных средств, но и с помощью процедуры слияния баз данных различных предприятий, использующих для своей работы КОМПАС-Электрик.
В заключение следует отметить, что база данных в стандартной поставке системы имеет первоначальное наполнение. В ней находится около 5700 типоисполнений электротехнических изделий и кабельной продукции, поставляемых предприятиями-изготовителями из стран СНГ, а также около 270 УГО, наиболее часто используемых в проектах электрооборудования. Данное наполнение не является статичным. Работа по расширению номенклатуры хранящихся в базе данных изделий ведется постоянно.
Автоматическая и полуавтоматическая простановка позиционных обозначений
Функция «Позиционное обозначение» позволяет создать буквенно-цифровые обозначения
(позиционные обозначения) элементов в электрических схемах по ГОСТ 2.710-81.
Функция предоставляет пользователю следующие возможности:
- поддержка структуры составного, условного буквенно-цифрового обозначения
по ГОСТ 2.710-81; - поддержка позиционных обозначений внутри функциональных групп, входящих
в схему; - поддержка позиционных обозначений по устройствам, входящим в схему и не
имеющим отдельной принципиальной схемы; - поддержка позиционных обозначений на схемах, выполненных на нескольких
листах (количество листов схемы не ограничено); - задание начального номера позиционного обозначения по видам элементов;
- вызов каталога элементов и создание атрибутов элемента с данными по элементу;
- автоматическая, полуавтоматическая и ручная отрисовка позиционных обозначений;
- отрисовка в позиционном обозначении номинала элемента;
- простановка позиционных обозначений как по всей схеме, так и по выделенным
элементам; - редактирование и удаление позиционных обозначений;
- контроль правильности введенных позиционных обозначений.
Контролируются следующие ошибки:
- нет вида обозначения;
- нет номера обозначения;
- нет отрисованного текста обозначения;
- двойной номер обозначения;
- двойной номер части обозначения;
- пропущен номер обозначения (контроль настраивается);
- пропущен номер части обозначения;
- нет указания о входимости или указание неверное;
- в обозначении верхнего уровня нет указания о входимости или оно неверное;
- обозначение верхнего уровня ссылается на отсутствующее обозначение;
- нет обязательной второй части обозначения.
Вся информация о позиционном обозначении записывается в атрибут обозначения
и может быть просмотрена средствами системы КОМПАС-График. Текст позиционного
обозначения входит в состав обозначения элемента.
При вызове функции осуществляется анализ схемы на наличие позиционных обозначений.
Данные о позиционных обозначениях отображаются в соответствующем окне (рис.
4).
Вставка УГО
Позволяет вставить в схему условное графическое обозначение (УГО) аппарата и назначить ему позиционное обозначение, а также выбрать его тип из базы данных комплектующих. При вводе позиционного обозначения система осуществляет несколько проверок (так называемых контролей): запрет ввода русских букв; обязательная завершенность позиционного обозначения цифрой; соответствие буквенного кода, введенного пользователем, тому значению, которое указано в базе данных; запрет на наличие в позиционном обозначении специальных символов. Все перечисленные проверки можно отключить в любой момент. УГО может вставляться в схему с любым допустимым углом поворота, что позволяет строить схемы с горизонтальной, вертикальной и смешанной ориентацией цепей. Угол поворота может изменяться и непосредственно в схеме. При повороте УГО положение его текстов автоматически корректируется (рис. 4). Каждое текстовое поле, расположенное возле УГО, может быть отображено на схеме либо скрыто. При работе с аппаратами в схемах осуществляется контр оль использования функциональных частей изделия. Например, система предупреждает о переполнении контактных групп у аппаратов релейного типа. После назначения типа аппарата из базы данных на УГО возле выводов отображаются реальные номера зажимов, соответствующие той функциональной части аппарата, которую представляет УГО в схеме.
Возле УГО, представляющих на схеме аппараты разнесенным способом, формируется перекрестная ссылка, показывающая лист и зону, в которых расположены все остальные УГО одного аппарата.
Рис. 4
Изменение свойств объектов схем
Любое свойство того или иного объекта схемы может быть изменено в любое время. Все перечисляемые далее свойства можно менять централизованно в соответствующем диалоге свойств, который создан для каждого вида объекта.
Документ или лист документа. Для них можно изменить любое значение, которое заносится в основную надпись чертежа, а также имя. Это упрощает процедуру поиска в дереве проекта нужного документа или листа. Для листа в любое время можно изменить формат и оформление.
Оболочка. Для оболочки можно изменить имя, тип (описать как оригинальное, или унифицированное, или стандартное изделие), а также ввести комментарий.
Поверхность. Для поверхности можно изменить имя, тип (описать как оригинальное, или унифицированное, или стандартное изделие), ввести комментарий. Здесь же можно дать разрешение на формирование клеммника для внешних связей, разрешить или запретить внешнее соединение с поверхностями других оболочек, отредактировать внешние трассы соединений.
Аппарат. Для аппарата можно изменять позиционное обозначение, тип аппарата. Можно вводить и изменять надписи, наносимые на несущие поверхности рядом с аппаратом. Также можно вводить и изменять тексты, которые отображаются на схемах. Система позволяет управлять форматом перекрестных ссылок, назначать сопутствующие элементы, просматривать и вставлять в схему из диалога УГО любого типа, которые указаны в базе данных именно для этого типа аппарата.
Соединители. Для соединителей можно вводить маркировку потенциального узла, отображать или скрывать ее на линиях связи, вводить номер линии в группе, если она подключена к групповой линии связи. Можно также назначать потенциальному узлу функциональную цепь и задавать имя шины.
Клеммник . Для клеммника можно вводить позиционное обозначение и выбирать тип из базы данных, изменять состав клемм, назначать тип для отдельной клеммы, если клеммник состоит из набора отдельных клемм, определять параметры графического представления клеммника в схемах (клеммник в схемы вставляется в виде таблицы).
Посредством перечисленных функций пользователь осуществляет разработку принципиальных электрических схем, одна из которых приведена на рис. 6.
Разработанная принципиальная схема — это уже на 70-80% готовый проект. Большинство других документов проекта получаются автоматически. Таким образом, грамотная работа специалистов в редакторе схем и отчетов позволяет существенно облегчить свой труд и резко повысить его производительность.
Рис. 6
«САПР и графика» 8’2000
Функции программы для черчения АСКОН КОМПАС3D
У каждого из компонентов пакета свой функционал, мы приведем его в виде списка:
КОМПАС3D электрик
Данный vмодуль нужен для построения электрических схем. Его основными функциями являются:
- редактирование базы данных и добавление в нее новых позиций;
- добавление УГО в базу и редактирование ее структуры;
- импорт УГО в готовую схему, обработка результата и тест функционала прибора;
- конструирование коммуникаций, групповых линий связи и шин;
- установка обозначения проводов в ручном и автоматическом режимах;
- интеграция в электросхему спецсимволов (проводник, экран, коаксиальный кабель), которые могут влиять на выбор класса проводников;
- общая корректировка полученной схемы;
- система автоматической генерации клемм в процессе работы.
КОМПАС3D строитель
Данный компонент способен создать сопутствующую документацию (сопровождающие записки, схемы, чертежи и т. д.) на высокой скорости. При помощи приложения можно сэкономить массу времени, поставив на поток рутинные операции генерации документов стандарта СПДС.
Основные функции программы:
- проектирование зданий (разрезы и планы);
- изготовление фрагментов (составляющие части объектов стройки);
- разработка пояснительных записок и технических спецификаций;
- быстрая проверка любых документов;
- быстрое создание и выпуск документации стандарта СПДС.
При помощи КОМПАС Строитель вы можете обрабатывать чертежи, которые были созданы в других программах. Также получится работать с файлами DXF/DWG, причем с любыми версиями.
КОМПАС3D для машиностроения
Любой машиностроительный завод нужен для выпуска машин или металлоконструкций. Естественно, проектирование каждой из них начинается с чертежа. Именно для этого и нужна обозреваемая нами программа.
Основные функции КОМПАС3D для машиностроения:
- набор инструментов для решения любых задач машиностроения;
- ускорение работы над чертежами из-за наличия нескольких разнообразных инструментов, объединенных в комплекс;
- высокое качество работы.
Пример работы с КОМПАС3D
Давайте рассмотрим работу с новой деталью. На начальном экране кликаем по пункту «Деталь». Перед нами открылся новый проект с системой координат, на которой мы и будем строить нашу деталь.
Что может быть проще чем создать гантелью? Именно этот спортивный снаряд мы и будем делать. Приступаем.
- Для начала нужно выделить левым кликом плоскость координат, на которой начнется построение, у нас это будет зеленая плоскость или Y. Как только мы это сделаем модель повернется к нам «лицом». Также можно просто выбрать инструмент, с которым мы будем работать и нажать на плоскость построения.
- Кликаем по центру координат и растягиваем нашу будущую окружность, когда контур будет доведен до нужного размера, снова делаем левый клик.
- Теперь нужно придать плоскому кругу объема. Кликаем по элементу выдавливания, затем по контуру круга.
- Теперь, если мы повернем систему координат, можно будет увидеть, что наша заготовка получила объем. Причем размер детали указан на схеме.
- Далее, нужно сделать так, чтобы наша заготовка стала гораздо длиннее и была похожа на гантель. Для этого следует изменить числовое значение, которое мы обозначили на скриншоте и нажать Enter.
- Перед вами ручка гантели, но также нужно сделать и блины. Мы покажем один из них, второй следует создавать по аналогии. Итак, центрируем нашу заготовку кликом по средней точке оси координат.
- Выбираем инструмент «Окружность» и кликаем по торцу нашей ручки.
- Кликаем по центру круга и растягиваем его до нужной величины. Можно задать точное числовое значение, но мы будем делать деталь на глаз. Ведь это просто гантель.
- В результате у нас получился чертеж будущего блина. Точно так же как, как мы это делали с ручкой, его нужно растянуть. Кликаем по инструменту выдавливания и задаем размер (мы выбрали 100).
- Чтобы завершить операцию жмем зеленую птичку, отмеченную на скриншоте.
- Повторяем ту же операцию для второго блина и видим, что перед нами предстала гантель.
Надеемся наши уроки вам помогли, теперь можно смело переходить к скачиванию программы.
Результаты поиска (470):
- Библиотека КОМПАС-Объект. Библиотека «Проверка документа».Библиотека — это приложение, созданное для расширения… Библиотека проектирования Библиотека проектирования… КОМПАС Они хранятся в библиотеках и справочниках системы.
- Библиотека — это приложение, созданное для расширения…Библиотека проектирования Библиотека проектирования… КОМПАС Они хранятся в библиотеках и справочниках | Библиотека — это приложение, созданное для расширения…
- Библиотека проектирования инженерных систем: ТХ, далее…Библиотеки — это приложения, созданные для расширения стандартных возможностей KOMПAC-3D и работающие в его среде. Они представляют собой специализированные…
- Библиотеки — это приложения, созданные для расширения…Подготовка библиотеки фрагментов Выбор сортамента из библиотеки фрагментов. | Прикладные библиотеки. 1. Доработана Библиотека изображений сварных швов: теперь…
- Прежде чем функции какой-либо прикладной библиотеки…Библиотеки — это приложения, созданные для расширения стандартных возможностей КОМПАС-3D и работающие в его среде. Они представляют собой специализированные…
- Библиотеки — это приложения, созданные для расширения…Microsoft Word — RelNotes.RTF | Прикладные библиотеки Прикладные библиотеки. 1. Доработана Библиотека изображений сварных швов: теперь параметры швов задаются не в…
- Архив обновлений26 ноября 2007 / Библиотека «Проверка документа».
- Библиотека «Универсальный механизм Express» позволяет…Библиотека КОМПАС-Объект. Библиотека «Проверка документа». ReadMe Библиотека СПДС-Помощник представляет собой функциональное расширение системной панели…
- Библиотека проектирования… Библиотека проектирования…Прикладные библиотеки к системе КОМПАС-3D; Файлы технологических процессов изготовления деталей или сборки агрегатов, выполненные с использованием САПР ТП…
- Библиотека: ОВ 2.6 Создание аксонометрической схемы.Машиностроительная конфигурация: — Библиотека анимации — Библиотека расчета размерных цепей — Библиотека редукторов — Библиотека электродвигателей.
- Обновление Текстового конвертера ECAD — КОМПАС.Машиностроительная конфигурация: — Библиотека анимации — Библиотека расчета размерных цепей — Библиотека редукторов — Библиотека электродвигателей.
- Обучающие материалы: книгиПрактикум по КОМПАС-3D V8: машиностроительные библиотеки Авторы: Кудрявцев Е.М.
- Руководство пользователя. Библиотека: ОВБиблиотека проектирования инженерных систем: ОВ, далее Библиотека: ОВ, предназначена | Библиотека: ОВ может быть использована для выпуска проектной документации инженерных…
- КОМПАС-3D: Приложения для машиностроенияПодробнее. Материалы и Сортаменты для КОМПАС Библиотека содержит обширный перечень материалов и сортаментов, информацию о свойствах материалов…
- UserGuide_ASAR | 3 Функции библиотеки1.2 Особенности работы прикладной библиотеки. В данной версии библиотеки для созданных ею макрообъектов можно применять стандартные операции редактирования, такие как…
- Приложение Распознавание 3D-моделей. Руководство…Отключение библиотек. Управление характерными точками библиотечных элементов. | Приложение Распознавание 3D моделей находится в папке Прочие Ме неджера библиотек.
- Обучающие материалы: видеоКоманда «Отверстие из библиотеки». Смотреть ролик на youtube.com.
- Архив обновленийБиблиотека ESK 6.1 R05 предназначена для автоматизации проектно-конструкторских работ в среде КОМПАС-3D V13 SP1. Она может использоваться конструкторами-электриками при…
- КОМПАС-3D: Приложения для строительстваПроект, выполненный при помощи Библиотеки: АС/АР. Проектирование производственного корпуса с помощью Библиотеки проектирования металлоконструкций: КМ.
- Руководство пользователя. Библиотека проектирования…Библиотека проектирования инженерных систем: ТХ, далее Библиотека: ТХ, предназначена для получения чертежей планов и разрезов систем, принципиальных и аксонометрических схем…
Страница 1 | Следующая страница | Страница 24 |
Ведение базы данных элементов
Функция «Каталог элементов» позволяет вводить, просматривать, удалять данные
об элементах в каталоге, а также записывать их данные в атрибуты обозначения
элемента для использования в других функциях библиотеки ESK (при составлении
перечней элементов, спецификаций и т.д.).
В каталог можно внести следующие данные об элементе:
- наименование;
- тип элемента;
- обозначение (чертеж);
- ТУ или ГОСТ;
- код ОКП;
- масса элемента;
- тип корпуса;
- комментарий;
- содержание драгоценных металлов;
- имя файла справки элемента;
- идентификатор обозначения элемента;
- применяемость элемента;
- цена;
- валюта;
- дополнительная информация;
- данные о поставщике;
- параметры выводов (количество выводов элемента не ограничено).
- Каталог элементов представляет собой базу данных; для управления его содержимым
предназначено специальное окно (рис. 6).
При работе с каталогом пользователю предоставляется ряд сервисных возможностей:
- поиск элементов;
- фильтрация элементов по применяемости;
- ведение каталогов элементов по проектам и схемам;
- предварительный просмотр графических изображений элементов;
- ввод информации о местоположении изображений элементов.
Графические обозначения элементов
В состав библиотеки входит несколько тысяч графических обозначений микросхем,
конденсаторов, источников питания, предохранителей, ламп, реле, резисторов,
диодов, оптронов, тиристоров, трансформаторов, электрозапальных и электротермических
устройств, акустических и электроизмерительных приборов и т.д. Стандартный Windows-интерфейс
библиотеки и наглядные кнопочные панели обеспечивают удобный доступ к графическим
обозначениям (рис. 1).
При вставке в графический документ обозначения элемента пользователь получает
следующие возможности:
- менять точку привязки фантома;
- поворачивать обозначение на фиксированный угол, кратный 90°, или на произвольный
угол; - получать зеркальное изображение обозначения;
- управлять созданием и заполнением атрибутов обозначения;
- управлять привязками обозначения (независимо от привязок, установленных
в КОМПАС-График).
Созданное обозначение является макроэлементом — единым объектом в документе
КОМПАС-График.
Сервис при отрисовке линий связи на схемах
Библиотека ESK 5 имеет развитые средства создания линий связи между элементами
электрических схем. При формировании линий связи на них налагаются дополнительные
ограничения, помогающие ускорить и упростить отрисовку.
Если при создании линии связи возникают ошибки, библиотека выдает диагностическое
сообщение и подсвечивает элемент, вызвавший ошибку.
Управление линиями связи осуществляется в соответствующем окне (рис.
3).
Библиотека ESK поддерживает следующие типы линий связи:
- системные линии связи библиотеки ESK;
- системные линии КОМПАС-График;
- линии проводки на планах по ГОСТ 21.614-88;
- линии передач проводных средств системы связи по ГОСТ 21.406-88;
- линии из пользовательской библиотеки стилей линий.
Кроме того, в библиотеке имеется возможность автоматического создания узлов
соединений. При формировании узлов анализируется количество и типы линий в предпоследней
(последней) точке линии связи, и в зависимости от них отрисовывается узел соединения.
FAQ Articles
FAQ# |
Title |
Category |
---|---|---|
Как уменьшить «динамичность» клемм в клеммнике | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Отличия между версиями КОМПАС-Электрик Express и КОМПАС-Электрик | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Невозможно открыть лист. Возможно диск переполнен, защищен от записи или у вас недостаточно прав доступа! | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Не могу открыть в V15 проект, сделанный в V14sp1 | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Не могу обновить УГО аппарата, вставленного в проект | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Готовые базы для КОМПАС-Электрик (Schneider Electric, ABB, КЭАЗ, Спецкабель) | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Горячие клавиши в КОМПАС-Электрик | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Не удалось получить идентификатор для COM Server: “KOMPAS.Application.5” | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Интеграция с ЛОЦМАН:PLM. Изменение метаданных в БД для КОМПАС-Электрик V13 | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Обновление базы данных в ОС Windows 7 | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Изменение директории пути установки | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Обновление структуры файла базы данных | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Запись с экрана действий, которые приводят к ошибке | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Произошла исключительная ситуация в KE_Integrator.dll | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Особенности работы с клеммником | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Демонстрационные ролики. Основные принципы работы в КОМПАС-Электрик | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Установка КОМПАС-Электрик V9 на КОМПАС-График V10 | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Одновременная работа с базой данных MS Access | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Масштаб УГО или общего вида аппарата | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Дополнительная справочная информация (PDF-файл в базе данных) | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Сопутствующие элементы на Э7 в КОМПАС-Электрик V10 | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
При сохранении УГО пропадает часть графики | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Графика на Э3. Прерывание линий электрической связи текстовыми полями | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Сохранение настроек | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Проблемы при присвоении УГО аппарату | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Установка сервис паков КОМПАС-Электрик | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Отображение обрывов линий электрической связи | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик | |
Совместимость версий КОМПАС-Электрик с версиями КОМПАС-График | База знаний (FAQ)::Программное обеспечение::КОМПАС-Электрик |
11.12.2022 2 мин
Ошибка 2147221005 (0x800401F3) при обновлении конфигурации на сервере
После установки новой версии платформы на сервер, я столкнулся с ошибкой вызова конструктора (COMObject) при обновлении конфигурации.
Причина ошибки обычно кроется в незарегистрированной библиотеке ComConnector (comcntr.dll), которая используется для управления подключениями к информационной базе на сервере 1С:Предприятие.
Текст ошибки при обновлении конфигурации на сервере
«Ошибка при вызове конструктора (COMObject) по причине: -2147221005(0x800401F3): Недопустимая строка с указанием класса»
Раньше я регистрировал библиотеку вручную:
- Нажимаем кнопки Win + R.
- В окне вводим команду:
regsvr32 "C:Program Files1cv88.3.xx.xxxxbincomcntr.dll"
- Нажимаем Ок.
Но в текущей ситуации я получал ошибку:
Текст ошибки при регистрации comcntr.dll
Не удалось загрузить модуль “comcntr.dll». Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с этим двоичным файлом или зависимыми DLL-файлами.
Не найден указанный модуль.
Поэтому предлагаю надежный и главное легкий способ регистрации библиотеки comcntr.dll:
- Откройте каталог с установленной платформой C:Program Files1cv88.3.xx.xxxxbin. В директории найдите файл RegMSC.cmd (он регистрирует утилиту администрирования сервера).
- Щелкните правой кнопкой мыши на файле и выберите Изменить.
- Замените в тексте слово radmin.dll на comcntr.dll.
- Сохраните наш новый файл в каталог платформы, все в той же папке C:Program Files1cv88.3.xx.xxxxbin, назвав его как угодно, например, RegCOM.cmd и запустите его от имени администратора.
Или можете скачать файл RegCOM.cmd с нашего сайта, переместить в каталог C:Program Files1cv88.3.xx.xxxxbin и запустить от имени администратора.
- Библиотека будет успешно зарегистрирована.
- Повторите попытку обновления конфигурации.
Алекс Гезанов
Работаю в сервисном центре по ремонту и обслуживанию бытовой техники. За более чем 10 лет трудовой деятельности, я сталкивался с решением большого количества проблем в работе ОС Windows, периферийных устройств, бытовой техники, игровых консолей Playstation и т. д.
Mikhail Volkov
12.11.20 — 15:11
Перестало работать OLE-соединение «V83.Application»: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Недопустимая строка с указанием класса. Тема заезженная, везде предлагают выполнить перерегистрацию платформы. Стоит 8.3.10.2466 х64, но клиентская часть 32-разрядная, делаю (под админом): regsvr32 «c:Program Files1cv88.3.10.2466bincomcntr.dll» (или надо regsvr32 «c:Program Files (x86)1cv88.3.10.2466bincomcntr.dll»?). Дальше надо сервер перезагрузить, или необязательно?
Читал статьи Ошибка V82.COMConnector на сервере 64. Решение проблемы (http://catalog.mista.ru/1c/articles/197627/) и Решение проблемы «Недопустимая строка
с указанием класса (https://efsaver.ru/docs/reshenie-problemy-nedopustimaya-stroka-s-ukazaniem-klassa.html), кое-что изменил/добавил в приложение COM+ V8COMConnector. Чтобы изменения вступили в силу, как перезапустить?
Mikhail Volkov
1 — 12.11.20 — 15:36
Службы компонентов/Действие/Пуск?
Kigo_Kigo
2 — 12.11.20 — 15:40
не помню что конкретно сделал, но статья с инфостарта не помогла, по моему привел разрядность к одному знаменателю
Kigo_Kigo
3 — 12.11.20 — 15:41
сижу уже с начала создания темы вспоминаю как эту бяку победил, хоть убей не помню, помню точно что по статье делал, не вылечилось и сервант ребутил и клиента
ДенисЧ
4 — 12.11.20 — 15:42
Взять regsvr32 не из system, а из SysWOW ?
Mikhail Volkov
5 — 12.11.20 — 15:50
Не помогло… Службу Агент сервера 1С:Предприятия 8.3 (x86-64) перезапустить, выкинет пользователей?
(1) У Альфа-Авто должна быть 32-разрядная клиентская часть, иначе торговое оборудование не работает.
(4) Полностью C:WindowsSysWOW64regsvr32 «c:Program Files1cv88.3.10.2466bincomcntr.dll»? Не Program Files (x86)?
ДенисЧ
6 — 12.11.20 — 15:52
(5) Если SysWOW, то (x86)
И наоборот
Kigo_Kigo
7 — 12.11.20 — 15:52
(5) как ты пытаешься вызвать х64 ком объект с х32 разрядного клиента? ответ, никак, регистрируй на клиенте х32 компненту
Mikhail Volkov
8 — 12.11.20 — 15:53
(4) Чтоб в силу вступило, что сделать?
Kigo_Kigo
9 — 12.11.20 — 15:55
(8) Ничего, так должно все работать, у тебя из сабжа не создается ком объект, потому что он ее не видит, а точнее видит другой разрядности, это не проблема подключений к базе через ком(сервер х64,х32, не важно), это проблема создания объекта как такого
Kassern
10 — 12.11.20 — 15:56
(0) делай обертку через службы компонентов для библиотеки comcntr.dll
Mikhail Volkov
11 — 12.11.20 — 16:09
(9) Дык, как правильно ее регистрировать?
(10) Вроде все сделано. Описание: 1CV83 COM Connector Class, DLL: C:Program Files1cv88.3.10.2466bincomcntr.dll
Kigo_Kigo
12 — 12.11.20 — 16:22
(11) а у тебя точно регистрация проходит?
Kigo_Kigo
13 — 12.11.20 — 16:24
И так, делает reg.bat файл , вставляем туда строку
C:WindowsSystem32regsvr32.exe «C:Program Files1cv88.3.15.1830bincomcntr.dll»
pause
сохраняем, запускаем от имени администратора, пробуй, скрин о регистрации сюда
Kigo_Kigo
14 — 12.11.20 — 16:25
(13) Пути поменять на свои, лучше полные
Kigo_Kigo
15 — 12.11.20 — 16:26
для х32 путь в C:Program Files (x86)
arsik
16 — 12.11.20 — 16:31
Mikhail Volkov
17 — 12.11.20 — 16:55
(13) Успешное выполнение: https://ibb.co/z5h2fHc. Ошибка осталась. 1С надо перезапускать?
(16) Что им должен увидеть?
Вроде дело не в регистрации, в чем-то другом… Может служба какая-то отвалилась… Какая? Работало же раньше…
Kigo_Kigo
18 — 12.11.20 — 17:01
1С конечно надо перезапустить
Mikhail Volkov
19 — 12.11.20 — 17:03
(18) Не помогло.
ZDenis
20 — 12.11.20 — 17:51
(19) У тебя com соединение на сервере ведь создается, причем тут клиентская часть. Вот на сервере и регистрируй dll. Причем, если сервер 64х, то и dll нужно соответствующую. Сперва лучше отмени уже сделанную регистрацию, чтобы в реестре путаницы не было.
МимохожийОднако
21 — 12.11.20 — 17:59
В БСП и типовых конфигурациях есть функция ЗарегистрироватьCOMСоединитель()
TormozIT
22 — 12.11.20 — 18:14
О да тут похоже все не понимают, что COMСоединитель и OLEAutomation (V8*.Application) — разные вещи и имеют существенные отличия в отношении контроля совместимости версий платформы и способа регистрации.
Кто хочет прокачать теорию, читайте тут все разжевано http://catalog.mista.ru/1c/articles/387577/
Кому нужно решение, в (16) уже дали ссылки — там все сделано очень универсально (как и весь ИР). Картинка на странице описания правда старовата уже. Запускать эту приблуду надо на том компьютере, где будет создаваться COM-объект (COM-клиент).
Mikhail Volkov
23 — 12.11.20 — 19:49
(20) (22) Уже всяко пробовал, в том числе с ключом /u (с отменой регистрации). Другой вариант: переустановить платформу, при этом она зарегистрирует все компоненты заново. Но это крайний вариант. Вроде дело не в регистрации…
Службы компонентов как перезапустить? Хотя сервер перезагрузил (все вышли), не помогло!?
Mikhail Volkov
24 — 12.11.20 — 22:16
Где, в какой ветке реестра Windows прописывается регистрация платформы?
TormozIT
25 — 12.11.20 — 22:43
(23) Если ты пробовал все, что я рекомендовал, то покажи скриншот с COM классами в ИР.
Mikhail Volkov
26 — 13.11.20 — 05:33
(25) Как это сделать? Это с помощью инструментов (16)? У меня их нет.
TormozIT
27 — 13.11.20 — 07:54
(26) Почему у тебя их нет? Что ты делал, чтобы они у тебя появились?
Mikhail Volkov
28 — 13.11.20 — 08:09
(27) Управление COM классами 1С
Просмотр и регистрация COM классов платформы 1С.
Все разрядности
Все типы классов
Все издания платформы
Генерация конфигурационного файла разрешения отладки COM-соединения
Можно указать для каждого класса нужную версию платформы из списка установленных
Пожалуй стоит поставить…
А «Регистрация утилиты администрирования серверов (8.3.10.2466)» — то, нет? Объект: «C:Program Files (x86)1cv88.3.10.2466binRegMSC.cmd» выполнил: C:Program Files (x86)1cv88.3.10.2466bin>regsvr32 /n /i:user radmin.dll — Успешное выполнение DllInstall в radmin.dll, но ошибка осталась.
TormozIT
29 — 13.11.20 — 08:14
(28) Поздравляю. Ты сделал первый шаг в правильном направлении — осознал, что «стоит поставить». Представляй, что я крепко держу тебя за руку, и потому делай уверенно следующий шаг.
XLife
30 — 13.11.20 — 08:15
«C:Program Files (x86)1cv88.3.10.2466bin1cv8.exe» /regserver
Mikhail Volkov
31 — 13.11.20 — 08:21
(29) Не понял, что скачивать: ИНСТРУМЕНТЫ РАЗРАБОТЧИКА ПОРТАТИВНЫЕ 1С 8.2+ V5.67P или 1С 8.3 V5.67E (1С 8.2 смущает)?
(30) В командной строке (под админом)?
XLife
32 — 13.11.20 — 08:24
(31) да… а потом на всякий случай: regsvr32 «C:Program Files (x86)1cv88.3.10.2466bincomcntr.dll»
МимохожийОднако
33 — 13.11.20 — 08:27
(31) не смущайся. Скачивай
TormozIT
34 — 13.11.20 — 08:31
(31) Там не 8.2, а 8.2+. Качай портативные
Mikhail Volkov
35 — 13.11.20 — 08:33
(32) Сообщений не выдало, процесс OLE-соединения вроде пошел… сразу ошибку (0) не выкинула. О, Подключение выполнено к базе: ‘Srvr=»ANDROMEDA»;Ref=»PATRCA»;’ 13.11.2020 10:27:23 — успех! Посмотрю как в рабочей базе…
TormozIT
36 — 13.11.20 — 08:44
(35) Только это не из-за (32), а из-за (30). Ну хоть кто то здесь знает разницу из (22).
Mikhail Volkov
37 — 13.11.20 — 11:29
Все же, в какой ветке реестра Windows прописывается регистрация платформы?
(36) Статью в (22) читал, но по другому поводу: Альфа-Авто обычно ведет Com-обмены с УПП/КА1. Когда поддержка КА1 кончилась, создали базу ERP/КА2, но она потребовала более высокую версию платформы. С OLE-обменом возникли проблемы: https://i.ibb.co/pdrH9Wy/COM.jpg. Меняю версию зарегистрированной платформы, тогда нормально. Даже функции написал:
// Определяет версию подключаемого приложения, при не соответствии требуемой переключает ее для OLE
// для пользователей с административными правами
Функция ВерсияПодключаемогоПриложения(СтрокаПодключения) Экспорт
СисИнфо = Новый СистемнаяИнформация;
ТекущаяВерсия = СисИнфо.ВерсияПриложения;
Если Найти(ТекущаяВерсия, «8.3») = 0 Тогда
Возврат ТекущаяВерсия;
КонецЕсли;
ТребуемаяВерсия = ?(ПодключенаВысокаяВерсия(СтрокаПодключения), ВысокаяВерсия, ПрежняяВерсия);
х86 = Не ПодключенаВысокаяВерсия(СтрокаПодключения);
WshShell = Новый COMОбъект(«WScript.Shell»); Ключ = «»;
Значение = ЗначениеКлючаЗарегистрированнойВерсииV83Application(WshShell, Ключ);
// Перключение версии OLE
// Если Не ПустаяСтрока(Значение) И Найти(Значение, ТребуемаяВерсия) = 0 Тогда // ТекущаяВерсия <> ТребуемаяВерсия
// Значение = СтрЗаменить(Значение, «Program Files» + ?(х86, «», » (x86)»), «Program Files» + ?(х86, » (x86)», «»));
// Значение = СтрЗаменить(Значение, ТекущаяВерсия, ТребуемаяВерсия);
// WshShell.RegWrite(Ключ, Значение);
// ЗапуститьПриложение(«taskkill.exe /f /im dllhost.exe»,, Истина);
// Сообщить(«Переключили версию платформы на » + ТребуемаяВерсия, СтатусСообщения.Информация);
// КонецЕсли;
Возврат ?(ПустаяСтрока(Значение), ТекущаяВерсия, ТребуемаяВерсия);
КонецФункции // ВерсияПодключаемогоПриложения()
// Переключает на старую версию платформы для OLE-соединения, если она переключена на новую версию
// для пользователей с административными правами
Процедура ЗвершитьПодключениеOLE() Экспорт
WshShell = Новый COMОбъект(«WScript.Shell»); Ключ = «»;
Значение = ЗначениеКлючаЗарегистрированнойВерсииV83Application(WshShell, Ключ);
Если ПустаяСтрока(Значение) Или Найти(Значение, «Program Files (x86)1cv8» + ПрежняяВерсия) > 0 Тогда
Возврат;
КонецЕсли;
WshShell.RegWrite(Ключ, «C:Program Files (x86)1cv8» + ПрежняяВерсия + «bin1cv8.exe»);
ЗапуститьПриложение(«taskkill.exe /f /im dllhost.exe»,, Истина);
КонецПроцедуры // ЗвершитьПодключениеOLE()
Функция ЗначениеКлючаЗарегистрированнойВерсииV83Application(WshShell, Ключ) Экспорт
// значение HKEY_LOCAL_MACHINESOFTWAREClassesCLSID{e92b75e3-2ea1-4fec-b493-cef3ec59fca6}LocalServer32 должно быть C:Program Files1cv88.3.14.1779bin1cv8.exe
CLSID = «{E92B75E3-2EA1-4FEC-B493-CEF3EC59FCA6}»;
Ключ = «HKEY_CLASSES_ROOTWow6432NodeCLSID» + CLSID + «LocalServer32»;
Значение = «»;
Попытка
Значение = WshShell.RegRead(Ключ);
Исключение
Сообщить(«Произошла исключительная ситуация (WshShell.RegRead): Неверная ссылка на корень в разделе реестра » + Ключ + » — недостаточно прав на реестр Windows», СтатусСообщения.Внимание);
КонецПопытки;
Возврат Значение;
КонецФункции // ЗначениеКлючаЗарегистрированнойВерсииV83Application()
Но это только для пользователей с административными правами, пришлось от них отказаться. А метод COM (не OLE) нормально работает. Нашел на http://catalog.mista.ru/public/1042208/ метод открытия объекта по ссылке в другой базе (подобно OLE), написал:
// Открытие объекта по ссылке в базе ERP/КА2, работающей на более высокой версии платформы
//
Процедура ОткрытьОбъектВБазеВысокойВерсии(Ссылка) Экспорт
Если обЗначениеНеЗаполнено(Ссылка) Тогда
Предупреждение(«Объект в » + БазаОрганизации(ОрганизацияТекущегоПодключенияКА()) + «не найден!», 60);
Возврат;
КонецЕсли;
ИмяСервера = Сред(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), 7, Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), «;Ref=») — 8); // «andromeda:1641»;
ИмяБазы = Сред(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), «;Ref=») + 6, СтрДлина(ОбъектКА.СтрокаСоединенияИнформационнойБазы()) — Найти(ОбъектКА.СтрокаСоединенияИнформационнойБазы(), «;Ref=») — 7); // «PatrERP»;
Если Не БазаКАОткрытаПользователем() Тогда
Предупреждение(«База ‘» + ИмяБазы + «‘ не открыта под пользователем ‘» + СокрЛП(ПараметрыСеанса.Пользователь) + «‘», 60);
Возврат;
КонецЕсли;
Объект = Ссылка.ПолучитьОбъект();
ТипОбъекта = СокрЛП(Объект.Метаданные().ПолноеИмя());
GUID = ОбъектКА.XMLСтрока(Ссылка.УникальныйИдентификатор());
НавигационныйGUID = Сред(GUID, 20 ,4) + Сред(GUID, 25, 12) + Сред(GUID, 15, 4) + Сред(GUID, 10, 4) + Сред(GUID, 1, 8);
ПутьОбъекта = «e1cib/data/» + ТипОбъекта + «?ref=» + НавигационныйGUID;
НазваниеОкна = СокрЛП(ОбъектКА.Константы.ЗаголовокСистемы.Получить()); // «КА2 ИП Патрушева Г.М.»;
НазваниеОкна = СтрЗаменить(НазваниеОкна, «»»», «»»»»»);
НазваниеОкна = СтрЗаменить(НазваниеОкна, » «, «»» «»»);
СерверБаза = ИмяСервера + «» + ИмяБазы;
СерверБаза = «/S»»» «»»» + СерверБаза + «»»» «»»/URL»»» «»»» + ПутьОбъекта; // после СерверБаза? » /N»»Администратор»» /P»»2001221″
ПутьКФайлу = «corp.akitworkspace$1c1с_Архивы»;
ПолныйПутьКФайлу = ПутьКФайлу + «ОткрытьСсылкуВДругойБазе.exe»;
ПолныйПутьОткрытияОбъекта = «»»»»»; // вроде не нужно СтрЗаменить(«c:Program Files1cv8common1cestart.exe ENTERPRISE » + СерверБаза,» «,»»» «»»);
Файл = Новый Файл(ПолныйПутьКФайлу);
Если Не Файл.Существует() Тогда
Сообщить(«Файл: ‘» + ПолныйПутьКФайлу + «‘ не существует.», СтатусСообщения.Информация);
Возврат;
КонецЕсли;
Приложение = ПолныйПутьКФайлу
+ » » + НазваниеОкна
+ » » + ПутьОбъекта
+ » » + СерверБаза
+ » » + ПолныйПутьОткрытияОбъекта;
// Сообщить(Приложение, СтатусСообщения.Информация);
ЗапуститьПриложение(Приложение);
КонецПроцедуры // ОткрытьОбъектВБазеВысокойВерсии()
acht
38 — 13.11.20 — 11:40
(37) > ПолныйПутьКФайлу = ПутьКФайлу + «ОткрытьСсылкуВДругойБазе.exe»;
/URL <адрес>
— указывает необходимость перехода по ссылке. Поддерживаются ссылки формата e1c:
Если указана внешняя ссылка — выполняется поиск запущенного клиентского приложения с той же строкой соединения, которая указана в параметре. В найденном клиентском приложении не должно быть открыто модальное или блокирующее окно. После этого выполняется попытка перехода по локальной ссылке из исходной навигационной ссылки и активизируется основное окно приложения. В случае неудачи клиентское приложение продолжает работу. Если исходная навигационная ссылка не содержит локальной ссылки (содержит только адрес информационной базы), то попытка перехода не выполняется, активируется основное окно найденного клиентского приложения.
Если подходящего клиентского приложения не найдено, строка соединения определяется из параметра командной строки /URL.
Если указана локальная ссылка — клиентское приложение запускается в общем порядке. После запуска выполнится попытка перехода по переданной локальной ссылке.
Для ссылок формата http(s) всегда запускается (или находится активный) тонкий клиент.
© ООО «1С-Софт», 1996-2019. Все права защищены.
Mikhail Volkov
39 — 13.11.20 — 11:55
(38) Что-то не понял к чему это, о чем?
Mikhail Volkov
40 — 13.11.20 — 12:42
Не сразу заметил эту (0) ошибку, потому что в ЖР в отборе на вкладке Данные отмечаю лишь объекты заслуживающие внимание (например, по кассе). Тогда ошибки по другим объектам не видны. Можно как-то настроить отбор, чтобы события с ошибками все отображались. А события Информация — только отмеченные на вкладке Данные?
acht
41 — 13.11.20 — 13:13
(39) ОткрытьСсылкуВДругойБазе.exe не нужен
Mikhail Volkov
42 — 13.11.20 — 13:55
Mikhail Volkov
43 — 13.11.20 — 17:33
На счет ЖР (40), смотреть либо ошибки, либо отмеченные объекты? Вместе никак?
Пользователи нередко сталкиваются с такой неисправностью, как ошибка при выполнении приложения сервера при работе в Windows 10, 8, 7. Поэтому важно знать, как распознается такой системный сбой, и что следует делать для его устранения.
Что за ошибка?
Обычно ошибка при выполнении приложения сервера появляется в тех случаях, когда значения папки Shell отсутствуют или неверны. В системе Windows, проводник файлов использует один и тот же процесс — explorer.exe — для всех окон, в том числе рабочего стола и панели задач.
Поэтому при возникновении сбоя в вышеуказанном процессе, связанного с неправильным выполнением микрокоманд, программа, которую пытается открыть пользователь, не запускается. Вместо этого отображается уведомление об ошибке.
Как проявляется неисправность?
Такая неисправность чаще всего проявляется при попытке открыть какой-либо файл. При попытке запуска программы она возникает гораздо реже.
При двойном клике по ярлыку файла его открытие не происходит. Через небольшой промежуток времени появляется окно с сообщением об ошибке приложения сервера и маршрутом к не открывшемуся файлу. Оно закрывается с нажатием на ОК либо верхний левый крестик, и при этом нужный файл все равно не запустится.
Чаще всего это случается при попытке открыть различные видео, особенно если на компьютере установлен только проигрыватель Media Player.
Причины возникновения
Ошибка при выполнении приложения сервера в Windows 7, 8, 10 может появиться при многих обстоятельствах. Чаще всего она вызвана повреждением системных файлов Windows, из-за которых процесс explorer.exe выполняется некорректно. Иногда она может возникнуть:
- Если по какой-либо причине остановлена сетевая поддержка проигрывателя Windows Media или возникла проблема с учетной записью пользователя.
- Система заражена вирусами и другими типами вредоносного ПО.
- Между установленными на ПК приложениями возникает конфликт.
- Кодеки, либо драйвера, инсталлированные на устройство, устарели.
Как найти причину?
Чтобы решить проблему, сначала необходимо проверить некоторые детали по ряду вопросов. Пользователь должен проверить и выяснить следующее:
- Вносились ли какие-либо изменения в компьютер перед возникновением проблемы?
- Возникают ли похожие неисправности при входе в Windows с использованием другой учетной записи пользователя?
- Появилась ли новая точка восстановления системы, датируемая до возникновения сбоя?
- Отображается ли статус службы общего доступа к плееру Windows Media Player в службах Windows в списке запущенных?
Если будет установлена связь с одним из вышеуказанных факторов, следует восстановить настройки, при которых файлы запускались на компьютере должным образом.
Способы устранения
Известно много способов исправления «Ошибки при выполнении приложения сервера», которые касаются, как проигрывателя Windows Media, так и общих настроек ОС.
Проверка на вирусы
В первую очередь, необходимо запустить антивирусное сканирование. Если будут обнаружены какие-либо вредоносные приложения, причина сбоя может заключаться в них. Если ошибка затрагивает только один файл, это может возникать по причине его заражения вирусом.
Кроме того, некоторые популярные бесплатные антивирусные инструменты, такие как AVG или Avast, могут привести к неправильной работе проигрывателя Windows Media. Поэтому лучше всего добавить как исключение проигрыватель Windows Media в любой антивирусной программе, которая используется на ПК.
Чтобы это выполнить, потребуется открыть пользовательский интерфейс антивирусного приложения, дважды щелкнув его значок на панели задач или выполнив поиск в меню «Пуск». Параметр «Исключение» расположен в разных местах в различных инструментах. В самых популярных антивирусах это выглядит так:
- Kaspersky Internet Security: Главная — Настройки — Дополнительно — Угрозы и исключения >> Исключения — Укажите надежные программы — Добавить.
- AVG: Главная страница — Настройки — Компоненты — Web Shield — Исключения.
- Avast: Главная страница — Настройки — Общие — Исключения.
Восстановление системы
Если вероятная причина сбоя в конфликте между приложениями, то устранить его можно при помощи восстановления системы к контрольной точке, предшествующей установке несовместимого ПО. Это выполняется следующим образом.
- Необходимо найти опцию восстановления системы в поле поиска Windows и выбрать «Создать точку восстановления» из списка результатов.
- Когда появится диалоговое окно «Свойства системы», перейти во вкладку «Защита системы» и нажать кнопку «Настроить».
- Требуется включить защиту системы, а затем с помощью ползунка переключить на «Максимальное использование», чтобы определить, сколько процентов жесткого диска нужно использовать для хранения точек восстановления (обычно достаточно 5–10%), затем нажать ОК.
- Далее следует щелкнуть по пункту «Восстановление системы…».
- Следуйте инструкциям на экране, нужно выбрать нужную точку восстановления при появлении запроса. На этом этапе можно нажать кнопку «Сканировать на наличие уязвимых программ», чтобы узнать, что может измениться на компьютере после процесса восстановления. Чтобы продолжить, требуется перейти к «Далее».
- Дождаться окончания процесса восстановления и перезагрузки ПК.
Если функция «Восстановление системы» не работает, требуется запустить ее в безопасном режиме. Это означает, что любые проблемные приложения, драйверы или настройки будут отключены. Восстановление системы в таких случаях проходит успешно.
Проверка драйверов и кодеков
Проверьте наличие обновлений для каждого кодека и драйвера, используемых в системе. В Windows 10 это делается следующим образом.
- В окне «Диспетчер устройств» следует развернуть категории и найти устройство, для которого требуется обновить драйвер. Например, если используется Driver Easy для загрузки «Realtek PCIe GBE Family Controller», это устройство будет расположено в категории «Сетевые адаптеры».
- Затем требуется щелкнуть правой кнопкой мыши на имени устройства и выбрать «Обновить драйвер».
Регистрация библиотек (jscript и jscript)
Это метод системной настройки, предлагающий использование командной строки от имени администратора. Выполняется он следующим образом.
- Требуется нажать одновременно на клавиатуре Win и R.
- В открывшемся окне набрать команду CMD.
- Ввести в отобразившейся строке regsvr32 jscript.dll и нажать Enter. Когда загрузка будет закончена, нажать ОК.
- Далее необходимо вводить regsvr32 vbscript.dll и затем — Enter. Когда это будет сделано, нужно сохранить все нажатием ОК и закрыть окно командной строки.
Ошибка при выполнении приложения-сервера: что значит уведомление и как его убрать
Для запуска большинства программ на вашем компьютере требуется множество подпрограмм и драйверов, которые запускают сложную систему рабочих процессов.
Сбой на каком-либо этапе выполнения эти микрокоманд и процессов ведет к тому, что программа не запускается, о чем пользователю сообщает особое уведомления.
Такие уведомления бывают различными в зависимости от причин, которые вызвали сбой, например, в данном материале мы рассмотрим, что означает ошибка при выполнении приложения-сервера.
Cодержание:
Как проявляется?
Эта неполадка возникает на стадии открытия тех или иных файлов, при запуске программ же она возникает достаточно редко.
Причем, формат файла, зачастую, значения не имеет – это может быть как картинка, так и музыка или видеофайл.
Распространенность такое й проблемы достаточно велика и на некоторых компьютерах может возникать более или менее регулярно.
Какой же внешний вид имеет такая ошибка и как узнать о ее появлении?
При двойном клике на тот или иной файл для его открытия или запуска, ничего не происходит.
Спустя несколько секунд появляется маленькое окно с традиционным дизайном Виндовс, в котором написано о неполадках при выполнении приложения-сервера и указан адрес к файлу, открытие которого компьютер не смог выполнить.
Такое окно можно закрыть, нажав на крестик в правом верхнем углу, или на кнопку ОК в самом окне – вне зависимости от этого файл не запустится.
Иногда окно появляется на фоне привычного рабочего стола, в другие моменты на экране появляются некоторые начальные признаки запуска, но после закрытия сообщения об ошибке они исчезают.
Такая проблема может возникать как одновременно у нескольких файлов (разного или одинакового типа), так и у одного – причем сама по себе такая проблема не устранится.
Cовет! Крайне редко при перезапуске файла после такого уведомления все же происходит. Это связано с тем, что иногда система дает временный сбой или делает ошибку, которая ошибочно распознается, как сбой приложения — сервера. Но в большинстве случаев на это рассчитывать не приходится.
Интересной особенностью данной ошибки является то, что хотя она и способна возникнуть при открытии файлов любого типа, чаще всего ее можно наблюдать все же при запуске видео.
И именно у тех пользователей, у которых не установлен какой либо функциональный проигрыватель видео, и которые пользуются стандартным Windows Media Player, параметры и возможности работы которого оставляют желать лучшего.
<Рис. 1 Уведомление>
к содержанию ↑
Что происходит?
Какие именно процессы возникают в компьютере при запуске файла, и сбой на каком этапе и какого характера может привести к появлению такого уведомления?
Существует несколько причин возникновения такой неполадки:
1Некорректная работа Windows Media Player, который не может воспроизводить некоторые типы видео по тем или иным причинам, в том числе и по той, что указана в рассматриваемом уведомлении;
2Деятельность вирусов может приводить к такому же результату, блокируя некоторые рабочие процессы на вашем устройстве;
3Конфликт с той или иной программой, установленной ранее, может приводить к таким последствиям;
4Устарели драйвера, кодеки или Direct X для данного типа файлов.
С технической точки зрения, появление такого уведомления означает, что микропрограмма, ответственная за запуск данного файла, не может получить ответ от приложения-сервера, который также отвечает за запуск.
<Рис. 2 Медиаплеер>
к содержанию ↑
Алгоритм поиска причины
Для того, чтобы устранить проблему в вашем устройстве, нужно сначала точно ее установить.
Это не так просто, так как причин может быть множество, но для поиска наиболее вероятной можно следовать данному алгоритму:
- Запустите глубокое или полное сканирование системы на вирусы – если какой либо вирус будет обнаружен в системе, то, скорее всего дело в нем. Если неполадка возникает только при открытии одного конкретного файла, то он сам может быть заражен вирусом;
- Обратите внимание, не возникла ли проблема после установки какой либо программы. Это говорит о возникновении конфликта между приложением и файлом. Особенно это заметно в случае, если перестали открываться все файлы данного типа;
- Когда вы уверены, что обновлений и программе устанавливалось в последнее время, а вирусы не найдены, то проверьте, не появились ли обновления для ваших драйверов и кодеков, предназначенных для открытия файлов данного типа.
Иногда причинами могут выступать непредвиденные ошибки и сбои в системе. Они, обычно, носят разовый характер и исчезают сами по себе. Но если этого не происходит, то устранить их можно с помощью командной строки.
<Рис. 3 Поиск вируса>
к содержанию ↑
Алгоритм решения проблемы
Если проблема возникает при запуске видео, тогда как другие типы файлов открываются нормально, при этом формат видео не относится к самым распространенным, то можно утверждать, что дело в проигрывателе операционной системы.
Самый простой и удобный способ – это скачать какой либо иной функциональный проигрыватель, например, K-Lite.
Вы потратите на скачивание K-Lite Codec Pack с нашего сайта и установку всего несколько секунд, но теперь у вас будут нормально запускаться файлы почти всех видео-форматов.
Другие программы
Если же проблема не в видео-файле или возникает, в том числе, и в файлах других форматов, то нужно запустить сканирование антивирусом, как уже говорилось выше.
Найденные в результате такого сканирования угрозы необходимо удалять – лечение и помещение их в карантин, обычно, результатов не дает.
Иногда также требуется чистить реестр системы от признаков наличия остаточных файлов вируса, но в большинстве случаев можно этого не делать.
В случае, когда вирусов не обнаружено, желательно примерно установить, когда именно появились неполадки.
Возможно, что они связаны с каким либо конфликтом между приложениями.
Целесообразнее всего провести восстановление системы в контрольную точку, которая была создана до установки программы, которая могла стать причиной конфликта.
<Рис. 4 Восстановление>
<Рис. 5 Точка восстановления>
<Рис. 6 Запуск процесса>
Важно! Метод также бывает достаточно эффективен в случае, если ошибка стала появляться после установки официальных обновлений операционной системы, касающихся файлов мультимедиа. Если неполадка возникла, значит, обновления установились некорректно. Откат до контрольной точки тут также поможет.
Драйвера и кодеки
Обычно, такая проблема возникает в случае, когда устаревают драйвера видеоускорителя на вашем ПК.
Под устареванием имеется в виду ситуация, когда в запускаемом файле установлены более новые форматы и разновидности кодирования, чем способен поддерживать старый драйвер на устройстве.
Для того, чтобы обновить драйвера, проделайте следующее:
1Перейдите по пути Панель управленияОборудование и звук Диспетчер устройств и откройте это приложение (в Виндовс 10 можно простор нажать кнопку Пуск и пропечатать «Диспетчер устройств»
<Рис. 7 Диспетчер устройств>
2В открывшемся окне со списком устройств найдите раздел Видеоадаптеры и нажмите на стрелку слева от этого слова для того, чтобы развернуть список устройств, ответственных за воспроизведение видео на данном ПК;
3Найдите оборудование, которое используете обычно, наведите на него курсор и кликните правой кнопкой мыши;
<Рис. 8 Видеоадаптеры>
4В выпавшем меню, которое разворачивается после таких действий, есть пункт Обновить драйвер – нажмите на него;
5Откроется окно с запросом о том, как именно вы хотите произвести поиск необходимых уведомлений – выбирайте автоматический поиск;
<Рис. 9 Обновление драйверов>
6Подождите, пока идет поиск;
<Рис. 10 Поиск>
7Если обновление найдено, то оно отобразится в окне после окончания поиска, и нужно будет только нажать кнопку Скачать или Установить, если же обновлений нет, то появится уведомление, сообщающее об этом;
<Рис. 11 Запуск обновления>
8После окончания установки драйверов перезагрузите компьютер.
Помните, что автоматический поиск драйверов выполняется в интернете. Потому, перед выполнением данной процедуры убедитесь, что ваш компьютер подключен к сети, а созданное соединение достаточно стабильно.
Командная строка
Если методы, описанные выше, не помогли, попробуйте воспользоваться командной строкой:
1Одновременно зажмите Win+R;
<Рис. 12 Выполнить>
2В поле ввода окна Выполнить пропечатайте CMD и нажмите ОК;
3Откроется командная строка, в которой необходимо скачала пропечатать regsvr32 jscript.dll и нажать Ввод, а затем – regsvr32 vbscript.dll, после чего также нажать Ввод;
<Рис. 13 Командная строка>
4Перезагрузите компьютер.
Теперь проблема больше не будет возникать. Если такая операция все же не помогла решить проблему, то снова откройте Командную строку и допечатайте еще одну команду – sfc /scannow и нажмите Ввод. Снова перезагрузите компьютер.
https://youtu.be/y0hSDJfo-dU