Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=1608510&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Wed Apr 13 05:33:49 2016
Кодировка: Windows-1251
Подключить 1С в С++ - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Development (Archive)

Страницы: 1
Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Подключить 1С в С++
      29.09.2004 16:58
 

Напишите, плз, как на С++ подключить 1С и получить доступ, например к какому-либо справочнику

Maxik
ЭнерДжаЙсер

Рег.: 22.12.2002
Сообщений: 14528
Из: Где-то на Петрашке ;)
Рейтинг: 3220
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 17:29
 

Через ОЛЕ

Нпример: http://erpg.ru/1c/builder/index.htm





Редактировал Maxik (29.09.2004 17:39)
Кто людям помогает, тот тратит время зря!
Хорошими делами прославиться нельзя!
Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Maxik]
      29.09.2004 17:37
 

в Делфях могу через ОЛЕ подключить
а в сях слабоват
может подскажешь?

Basilio
GreenOne

Рег.: 14.10.2002
Сообщений: 13750
Из: Москва
Рейтинг: 3476
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 17:39
 

Все олешные функции - это те же апишные вызовы. с соотв. классами.
В дельфях я могу юнит сделать из typelibrary - а в плюсах так можно?
наверняка. импортни и пользуй как в дельфи

Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Basilio]
      29.09.2004 17:44
 

почему то 1С нету в Type Library
в форумах написано, что через Dispatch надо работать
через ОЛЕ на c++ нигде не нашел

Basilio
GreenOne

Рег.: 14.10.2002
Сообщений: 13750
Из: Москва
Рейтинг: 3476
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 17:50
 

У тебя есть typelibrary от 1C?
Если есть - можешь сделать из нее .h файл? с классами и нужными константами?
Какой компилятор используешь?
В ответ на:

в Делфях могу через ОЛЕ подключить



В ответ на:

форумах написано, что через Dispatch надо работать



Мне непонятна глубина познания в ОЛЕ и с какого места надо начать объяснять



Редактировал Basilio (29.09.2004 17:52)
Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Basilio]
      29.09.2004 17:52
 

нету typelibrary
.Net 2003 использую

Basilio
GreenOne

Рег.: 14.10.2002
Сообщений: 13750
Из: Москва
Рейтинг: 3476
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 17:54
 

поищи в каталоге установки 1С-ки файл *.tlb

Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Basilio]
      29.09.2004 17:57
 

нет файлов с таким расширением

Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Maxik]
      29.09.2004 18:03
 

так работает только из Делфи, VB и С билдера
в c++ так не работает



Редактировал Adoon (29.09.2004 18:03)
Maxik
ЭнерДжаЙсер

Рег.: 22.12.2002
Сообщений: 14528
Из: Где-то на Петрашке ;)
Рейтинг: 3220
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 18:21
 

Как вариант, написать ДЛЛ на билдере или дельфи, апотом ее юзать )))))))))))))))))



Кто людям помогает, тот тратит время зря!
Хорошими делами прославиться нельзя!
Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Maxik]
      29.09.2004 18:31
 

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

Basilio
GreenOne

Рег.: 14.10.2002
Сообщений: 13750
Из: Москва
Рейтинг: 3476
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 18:33
 

Библиотека типов в системе зарегистрирована?
OLE/COM Object Viewer, раздел Type Libraries - там нет нужной библиотеки типов?
Если есть - экспортируй хотя бы IDL. что с ним делать в С++ - ума не приложу.
Дельфя умеет делать юниты из библиотек типов. Может, их можно просто так инклюдить?
Можешь у Fj_ спросить, он вроде большой спец по С++ (и .NET вообще)

После того, как у тебя есть нужные классы - дальше просто:
CoCreateInstance(...,App)
App->QueryInterface(I1)
App->QueryInterface(I2)
App->QueryInterface(I3)
..
Как в дельфях - кстати, хороший примерчик по работе с ОЛЕ из дельфи есть на примере взаимодействия дельфи и экселя.


Adoon
member

Рег.: 03.11.2002
Сообщений: 149
Рейтинг: 101
  Re: Подключить 1С в С++ [re: Basilio]
      29.09.2004 18:43
 

где то в форумах прочитал, что 1С не удосужилась делать библиотеку типов,
посмотрел в OLE/COM Object Viewer, раздел Type Libraries, там нет такой библиотеки
1С запускается, а как доступ к элементам получить?

Basilio
GreenOne

Рег.: 14.10.2002
Сообщений: 13750
Из: Москва
Рейтинг: 3476
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 18:55
 

Если нет библиотеки типов - значит через ОЛЕ к ней не достучаться..

yanys
Доктор Кот

Рег.: 08.10.2003
Сообщений: 2098
Рейтинг: 1394
  Re: Подключить 1С в С++ [re: Adoon]
      29.09.2004 18:58
 

Что-то не могу я щас сообразить, можно для 1С использовать директиву #import или нет... По идее #import генерит классы обертки для Automation'а по заданному type lib. Которого для 1С якобы нет... Посмотри на ATLный класс CComDispatchDriver, может он тебе поможет. Выглядеть должно примерно так:
code:

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"), &param, &result);
<....>





Get your facts first, and then you can distort them as much as you please. Mark Twain
Bachan
god's pee

Рег.: 26.10.2002
Сообщений: 37551
Рейтинг: 5335
  Re: Подключить 1С в С++ [re: yanys]
      29.09.2004 19:23
 

Леший закрылся!!!



я АЭС фачил в эсс!
Страницы: 1

Technical >> Development (Archive)

Дополнительная информация
0 зарегистрированных и 1 анонимных пользователей просматривают этот форум.

Модераторы:  DarkGray 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в