Подключить 1С в С++
Через ОЛЕ
Нпример: http://erpg.ru/1c/builder/index.htm
Нпример: http://erpg.ru/1c/builder/index.htm
в Делфях могу через ОЛЕ подключить
а в сях слабоват
может подскажешь?
а в сях слабоват
может подскажешь?
Все олешные функции - это те же апишные вызовы. с соотв. классами.
В дельфях я могу юнит сделать из typelibrary - а в плюсах так можно?
наверняка. импортни и пользуй как в дельфи
В дельфях я могу юнит сделать из typelibrary - а в плюсах так можно?
наверняка. импортни и пользуй как в дельфи
почему то 1С нету в Type Library
в форумах написано, что через Dispatch надо работать
через ОЛЕ на c++ нигде не нашел
в форумах написано, что через Dispatch надо работать
через ОЛЕ на c++ нигде не нашел
У тебя есть typelibrary от 1C?
Если есть - можешь сделать из неё .h файл? с классами и нужными константами?
Какой компилятор используешь?
Если есть - можешь сделать из неё .h файл? с классами и нужными константами?
Какой компилятор используешь?
в Делфях могу через ОЛЕ подключить
форумах написано, что через Dispatch надо работатьМне непонятна глубина познания в ОЛЕ и с какого места надо начать объяснять
нету typelibrary
.Net 2003 использую
.Net 2003 использую
поищи в каталоге установки 1С-ки файл *.tlb
нет файлов с таким расширением
так работает только из Делфи, VB и С билдера
в c++ так не работает
в c++ так не работает
Как вариант, написать ДЛЛ на билдере или дельфи, апотом ее юзать 

да уж
или всю прогу на Делфи написать
чтобы так не мучиться
или всю прогу на Делфи написать

чтобы так не мучиться
Библиотека типов в системе зарегистрирована?
OLE/COM Object Viewer, раздел Type Libraries - там нет нужной библиотеки типов?
Если есть - экспортируй хотя бы IDL. что с ним делать в С++ - ума не приложу.
Дельфя умеет делать юниты из библиотек типов. Может, их можно просто так инклюдить?
Можешь у спросить, он вроде большой спец по С++ (и .NET вообще)
После того, как у тебя есть нужные классы - дальше просто:
CoCreateInstance(...,App)
App->QueryInterface(I1)
App->QueryInterface(I2)
App->QueryInterface(I3)
..
Как в дельфях - кстати, хороший примерчик по работе с ОЛЕ из дельфи есть на примере взаимодействия дельфи и экселя.
OLE/COM Object Viewer, раздел Type Libraries - там нет нужной библиотеки типов?
Если есть - экспортируй хотя бы IDL. что с ним делать в С++ - ума не приложу.
Дельфя умеет делать юниты из библиотек типов. Может, их можно просто так инклюдить?
Можешь у спросить, он вроде большой спец по С++ (и .NET вообще)
После того, как у тебя есть нужные классы - дальше просто:
CoCreateInstance(...,App)
App->QueryInterface(I1)
App->QueryInterface(I2)
App->QueryInterface(I3)
..
Как в дельфях - кстати, хороший примерчик по работе с ОЛЕ из дельфи есть на примере взаимодействия дельфи и экселя.
где то в форумах прочитал, что 1С не удосужилась делать библиотеку типов,
посмотрел в OLE/COM Object Viewer, раздел Type Libraries, там нет такой библиотеки
1С запускается, а как доступ к элементам получить?
посмотрел в OLE/COM Object Viewer, раздел Type Libraries, там нет такой библиотеки
1С запускается, а как доступ к элементам получить?
Если нет библиотеки типов - значит через ОЛЕ к ней не достучаться..
Что-то не могу я щас сообразить, можно для 1С использовать директиву #import или нет... По идее #import генерит классы обёртки для Automation'а по заданному type lib. Которого для 1С якобы нет... Посмотри на ATLный класс CComDispatchDriver, может он тебе поможет. Выглядеть должно примерно так:
IDispatchPtr pDispatch;
HRESULT hr = pDispatch.CreateInstance( "V77.Application" );
if ( SUCCEEDED( hr ) )
{
CComDispatchDriver pDd( pDispatch );
_variant_t result;
_variant_t param("мама мыла раму");
hr = pDd.Invoke1(OLESTR("myCoolMethodName" ¶m, &result);
<....>
Леший закрылся!
Оставить комментарий
noss
Напишите, плз, как на С++ подключить 1С и получить доступ, например к какому-либо справочнику