Вернуться   Форум программистов > Форум Программирование > Форум C++ > Форум Visual C++

Visual C++

Программирование с использованием Visual C++.

Ответ
 
Старый 13.01.2006, 14:30   #1
ysbp
Новичок
 
Регистрация: 27.04.2005
Сообщений: 13
ysbp пока не определено
По умолчанию Как из С++ подключиться к 1С?

Как из С++ подключиться к 1С?
ysbp вне форума  
Старый 13.01.2006, 17:41   #2
boombastik
Местный
 
Регистрация: 06.12.2000
Сообщений: 1,269
boombastik пока не определено
По умолчанию RE: C++ и 1С

Через OLE Automation, насколько я знаю, 1C ко всему прочему представляет из себя Automation Server.

Удачи, Владимир
boombastik вне форума  
Старый 13.01.2006, 17:50   #3
ysbp
Новичок
 
Регистрация: 27.04.2005
Сообщений: 13
ysbp пока не определено
По умолчанию RE: C++ и 1С

Через OLE Automation, насколько я знаю, 1C ко всему прочему представляет из себя Automation Server.

Это так, но проблема в том, что именно С++ не может использовать функции,встроенные в 1С для этого случая. Подключиться можно через метод CreateObject, но он-то и не работает в С++. В VB он работает.
ysbp вне форума  
Старый 13.01.2006, 20:45   #4
boombastik
Местный
 
Регистрация: 06.12.2000
Сообщений: 1,269
boombastik пока не определено
По умолчанию RE: C++ и 1С

)))) это кто тебе сказал, что OLE Automation не работает в C++?
boombastik вне форума  
Старый 13.01.2006, 20:53   #5
boombastik
Местный
 
Регистрация: 06.12.2000
Сообщений: 1,269
boombastik пока не определено
По умолчанию RE: C++ и 1С

Даю еще одну наводку (подсказку, а не на водку): копай в сторону директивы #import поищи в yandex'e и google, найдешь очень много интересных примеров использования механизмов OLE Automation из VC++

Обычно примеры для MS Office, но уверен, если добавишь 1С в фильтр, найдешь примеры и для 1C. Помниться когда-то давным давно (лет 7-8 назад) я ковырял немного внешний интерфейс 1С, так вот даже тогда в документации для разработчиков по 1С наряду с Visual Basic примерами, была парочка примеров на Visual C++ (версии 5.0)

Счастья вам,
Владимир
boombastik вне форума  
Старый 16.01.2006, 15:01   #6
ysbp
Новичок
 
Регистрация: 27.04.2005
Сообщений: 13
ysbp пока не определено
По умолчанию RE: C++ и 1С

Спасибо всем за помощь.
ysbp вне форума  
Старый 08.02.2007, 13:06   #7
Biskup
Новичок
 
Регистрация: 08.02.2007
Сообщений: 3
Biskup пока не определено
По умолчанию RE: C++ и 1С

Я так понял, что ты разобрался. Поделись пожалуйста.

Я просмотрел много инфы. И по COleDispatchDriver, и по CComDispatchDriver и по #import. Самое простое писать с использованием #import, но где та dll, которую надо импортировать??? В VB или Delphi это происходит на автомате, там просто написал createOleObject('V1CEnterprise.Application') и все - радуйся жизни.



Конечно можно ручками работать с IDispatch. Получать с помощью GetIDsOfNames номера функций DispId и вызывать их Invoke. Но я думаю можно немного автоматизировать этот процесс, ведь так?



Помоги плиз!!
Biskup вне форума  
Старый 08.02.2007, 14:15   #8
Biskup
Новичок
 
Регистрация: 08.02.2007
Сообщений: 3
Biskup пока не определено
По умолчанию RE: C++ и 1С

Надо пользовать .NET



Про #import читаем здесь http://www.realcoding.net/article/view/1836

и здесь http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclang/html/_predir_The_.23.import_Directive.asp
Biskup вне форума  
Старый 08.02.2007, 15:04   #9
boombastik
Местный
 
Регистрация: 06.12.2000
Сообщений: 1,269
boombastik пока не определено
По умолчанию RE: C++ и 1С

нуууу... если вам известно название COM-объекта ("V1CEnterprise.Application"), то просто откройте regedit и поищите эту строку, когда найдете, ищите ключ с названием LocalServer32, там будет название либо *.exe, либо *.dll отвечающей за автоматизацию



Удачи,

Владимир
boombastik вне форума  
Старый 08.02.2007, 15:13   #10
boombastik
Местный
 
Регистрация: 06.12.2000
Сообщений: 1,269
boombastik пока не определено
По умолчанию RE: C++ и 1С

более правильный путь:

HKEY_CLASSES_ROOTV1CEnterprise.ApplicationCLSID - копируем стандартное значение ключа



HKEY_CLASSES_ROOTCLSID{ххх-ххх - значение ключа}LocalServer32 - будет содержать путь к программе/библиотеке, отвечающей за реализацию COM-объекта (в данном случае сервера автоматизации)

HKEY_CLASSES_ROOTCLSID{ххх-ххх - значение ключа}ProgID - скорее всего будет содержать строку V1CEnterprise.Application.x, где x - номер текущей версии

HKEY_CLASSES_ROOTCLSID{ххх-ххх - значение ключа}VersionIndependentProgID - если все правильно будет установлено в значение V1CEnterprise.Application (независимое от версии название COM-объекта)



С уважением,

Владимир
boombastik вне форума  
Ads
Ответ
Опции темы

Похожие темы
Тема Автор
Ошибка undefined symbol prce_compile in module program.cpp Visual C++
Что за ошибка? undefined symbol prce_compile in module program.cpp
XXXXXXX
Какой компилятор выбрать? Visual C++
Кто каким пользуется? И почему имено етим? Какой из кмпиляторов быстрее, надежней, генерирует меньший код и так далие? Поделитесь мыслями?
XXXXXXX
Автозаполнитель вебформ. Если реально то на Visual C. Visual C++
Требуется написать автозаполнитель веб форм (желательно в виде расширения для FireFox) с особыми требованиями. Оплата гарантирована. Все подробности по ICQ 208987741
sales-manager
Помогите понять о чём разговор (Visual c++) Visual C++
Здраствуйте, нашел opensource программу, и мануал как запихнуть ее в Visual C++ но ничего не понимаю, скажите что значит: 1. Use the MS Visual C++ dialog editor to place a custom control...
crezd
Стоит ли для учёбы ставить VC++? Visual C++
1.Сейчас у меня стоит Dev C++.Посоветуйте ,будет ли лучше обучение на Вижуале? 2.Я бы сразу вижуал установил, но у меня Windows XP Sp1, а нужно SP2.Переустановить нельзя(по некоторым причинам),...
lordPS
Проблема с Release в Visual C++
Проект нормально компилится и в Debug, и в Release, обе работают нормально, но на другом компе Release работать отказывается а Debug работает нормально. На обоих компах стоит XP. Проект на чистом API.
andrei269



Текущее время: 10:33. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.

Рейтинг@Mail.ru