Ошибка при обращении к OLE Automation серверу 1C из внешней компоненты #449961


#0 by Evfarion
Есть COM-Компонента, написанная на Делфи, функции внешней компоненты вызываются без проблем, а при попытке обратиться к 1С из внешней компоненты толстый клиент возвращает ошибку: "Access violation at address 27442BC6 in module 'addncom.dll'. Read of address 00000024.". Тонкий и веб - тупо игнорируют вызов. При чем та же компонента на 8.1 работает без ошибок. С чем этом может быть связано?
#1 by Rie
Точно v7? Если v8 - то для 8.2 внешние компоненты несколько отличаются от внешних компонент для предыдущих версий. Возможно, ты манипулируешь памятью сильно не так, как это положено в 8.2.
#2 by Evfarion
Точно 8.2, я с флагом промахнулся
#3 by Evfarion
1С дакларировали ведь полную подрержку старых внешних компонент. Да и разници между COM интерфейсами в 8.1 и 8.2 что-то нигде не могу вычитать, вот и ломлюсь по-старому. Инициализация: [1C]  i1cv:=pConnection;  iError:=nil;  pConnection.QueryInterface(IID_IErrorLog,iError);  iStatus:=nil;  pConnection.QueryInterface(IID_IStatusLine,iStatus);  iEvent := nil;  pConnection.QueryInterface(IID_IAsyncEvent,iEvent);  iExtWindows:=nil;  pConnection.QueryInterface(IID_IExtWndsSupport,iExtWindows);  obj := OleVariant(i1cv).AppDispatch; [1C] По жмаканью кнопки в 1С вызывается: [1C] OleVariant(glObj^).ЗавершитьРаботуСистемы; [1C] По логам на этой строке и падает.
#4 by Evfarion
что я не так с тегами сделал?
#5 by v77
Обычно помогает отладчик. glObj это чо?
#6 by Evfarion
Указатель на obj
#7 by loh_pedalny
А если дернуть какой-нить другой метод глобального контекста - работает?
#8 by Evfarion
неа, даже банальный "сообщить" не работает. Пробовал и другие компоненты подключать - то же самое. Правда, все самописные.
#9 by loh_pedalny
пиши в суппорт. наверняка косяк где-то...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С