|
Вопрос по ВК на С++ с диска ИТС | ☑ | ||
---|---|---|---|---|
0
DSSS
31.07.12
✎
10:56
|
Доброго дня.
Никто не разбирался с сабжем? Взял пример с диска ИТС, с пом. visual studio 2008 получил AddInCOM.dll Зарегистрировал библиотеку AddInCOM.dll В 1с: ПрогИД = "AddIn.AddInCOM"; ПодключитьВнешнююКомпоненту(ПрогИД); Драйвер = Новый (ПрогИД); Подключение проходит, но на строке Драйвер = Новый (ПрогИД) возникает ошибка: тип не определен ("AddIn.AddInCOM") Куда смотреть? |
|||
1
orefkov
31.07.12
✎
11:00
|
RegisterExtensionAs
|
|||
2
Tahallus
31.07.12
✎
11:02
|
Какой приложение обычное или управляемое?
|
|||
3
SherifSP
31.07.12
✎
11:04
|
(0)RegSVR C:\ProgramFiles\1C - путь к DLL
|
|||
4
DSSS
31.07.12
✎
11:04
|
Обычное 8.1
|
|||
5
Tahallus
31.07.12
✎
11:06
|
Я делал так.
AddInCOM.dll копировал в папку bin или system32 и писал код: ЗагрузитьВнешнююКомпоненту("AddInCOM.dll"); Драйвер = Новый ("AddIn.AddInCOM"); |
|||
6
SherifSP
31.07.12
✎
11:07
|
(5)У тебя 1С не видит этой дллки
|
|||
7
DSSS
31.07.12
✎
11:07
|
(5) тоже самое
ЗагрузитьВнешнююКомпоненту("AddInCOM.dll") работает, Драйвер = Новый ("AddIn.AddInCOM") - нет |
|||
8
SherifSP
31.07.12
✎
11:09
|
("AddIn.AddInCOM") здесь все правильно написал?
|
|||
9
DSSS
31.07.12
✎
11:10
|
Да, в регистре тоже самое
|
|||
10
SherifSP
31.07.12
✎
11:11
|
(9)Хз тогда, должно работать
|
|||
11
DSSS
31.07.12
✎
11:12
|
(1) можно чуть подробнее?
|
|||
12
SherifSP
31.07.12
✎
11:12
|
(9) В компоненте проблемы ищи
|
|||
13
orefkov
31.07.12
✎
11:19
|
(11)
Проверь, вызывается ли эта функция из твоей компоненты при ее загрузке (ну хоть MessageBox туда воткни) и проверь, что она возвращает. |
|||
14
DSSS
31.07.12
✎
12:09
|
(13) Да, проверил. MessageBox появляется при выполнении ЗагрузитьВнешнююКомпоненту("AddInCOM.dll");
|
|||
15
orefkov
31.07.12
✎
12:11
|
(14)
И твоя ВК что там возвращает? В примере от 1С вроде бы "AddInExtension", а не "AddInCOM". |
|||
16
Serginio1
31.07.12
✎
12:14
|
В Delphi помню создавал ресурсный файл с расширением
STRINGTABLE DISCARDABLE BEGIN 100 "AddInFromITypeInfo" END |
|||
17
Serginio1
31.07.12
✎
12:17
|
А вообще уже 10 лет пользуюсь ВК которая загружает Объект Автоматизации поддерживающий ITypeInfo и выполняет все его свойства и методы через IlanguageExtender
http://1c.proclub.ru/modules/mydownloads/personal.php?cid=115&lid=2019 |
|||
18
DSSS
31.07.12
✎
12:22
|
(15) Возвращает S_OK
В файле AddInCOM... |
|||
19
orefkov
31.07.12
✎
12:29
|
(18)
Строку какую возвращает? Вот я смотрю пример от 1С: STDMETHODIMP CAddInCOM::RegisterExtensionAs(BSTR *bstrExtensionName) { wchar_t* csExtenderName = L"AddInExtension"; *bstrExtensionName = ::SysAllocString(csExtenderName); return S_OK; } Вижу, что возвращает "AddInExtension". Соответственно, писать надо Новый("Addin.AddInExtension") А у тебя там какая строка? |
|||
20
DSSS
31.07.12
✎
12:33
|
(19) Да, действительно AddInExtension, сейчас попробую. Спасибо.
|
|||
21
DSSS
31.07.12
✎
12:42
|
Работает
ЗагрузитьВнешнююКомпоненту("AddInCOM.dll"); Драйвер = Новый ("AddIn.AddInExtension"); orefkov, Спасибо тебе! |
|||
22
orefkov
31.07.12
✎
13:00
|
(21)
Не за что. И я бы рекомендовал все-таки в методе RegisterExtensionAs возвращать другую строку, чтобы ненароком не конфликтовать с другими ВК. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |