![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получить ссылку на объект 1С !!! [D7, WinXP]
312kbps © (2006-10-20 11:16:00)Уважаемы профессионалы, помогите пожалуйста разобраться в след. вопросе !
Есть dll которая инилизируется в 1С.
Как в этой dll получить ссылку на какой либо объект в этой 1С, например на конкретный элемент справочника сотрудники !?!?
Огромное спасибо !
Сергей М. (2006-10-20 14:23:00) [1]
> atruhin © (20.10.06 13:23) [14]
> не все нормально документированны, при чем, бывают вообще
> трудно объяснимые глюки
Да, разумеется.
1С-платформы - засада еще та)
Фоксовые привычки у "одноэсных отцов" прямо-таки бросаются в глаза.
atruhin (2006-10-20 13:23:00) [2]> Но работа с 1С-платформой как с ole-объектом ничем не отличается
> от работы с любым другим ole-объектом.
Не отличается, но там много особенностей, и не все нормально документированны, при чем, бывают вообще трудно объяснимые глюки.
Например не смог побороть такой эффект при закачке справочников: все справочники, кроме плана счетов, загружаются быстро, а план счетов 7-10 записей в секунду и все, код один и тот же. Причем в 1С он открывается мгновенно. :)
Jeer (2006-10-20 13:12:00) [3]http://www.delphiplus.org/
312kbps (2006-10-20 13:03:00) [4]дело в том что я плохо знаком с ole-объектоми в delphi, покажи хотя бы общие примеры работы )
Сергей М. (2006-10-20 12:43:00) [5]
> 312kbps (20.10.06 12:38) [10]
Я не силен в 1C. Практика моя там минимальна.
Но работа с 1С-платформой как с ole-объектом ничем не отличается от работы с любым другим ole-объектом.
312kbps (2006-10-20 12:38:00) [6]Сергей, если тебя не затруднит, можно тебя помучить по этому вопросу )))
У тебя аска есть, напиши мне пожалуйста на мыло !
Спасибо !
Сергей М. (2006-10-20 12:36:00) [7]
> потом делать инициализацию, то есть подключение к конкретной
> базе ?
Зачем ?
Если подключение к базе уже есть, просто получаешь ссылку на это подключение
312kbps (2006-10-20 12:25:00) [8]и потом делать инициализацию, то есть подключение к конкретной базе ?
но это не надо, dll уже работает из под 1С !?
Сергей М. (2006-10-20 12:16:00) [9]var
App : OleVariant;
..
App := GetActiveOleObject('v77.application');
312kbps (2006-10-20 12:06:00) [10]И если не затруднит, подскажите как передать ссылку на этот объект в dll ? )
312kbps (2006-10-20 12:04:00) [11]Обратное действие сделать нужно, получить объект в этой dll и предать в 1С !
Вот такое решение требуется, подскажите как это реализовать ???
Сергей М. (2006-10-20 12:01:00) [12]
> 312kbps (20.10.06 11:40) [3]
> очень просто
> загрузитьВнешнююКомпоненту("mydll.dll");
Бывает и еще проще - LoadLibrary()
Сразууточнять надо, что речь идет об использовании DLL в кач-ве COM-сервера.
> в этой dll получить ссылку на какой либо объект в этой 1С
Надо передать эту ссылку в dll
312kbps (2006-10-20 11:40:00) [13]
> > Есть dll которая инилизируется в 1С
>
>
> Это как ?
очень просто
загрузитьВнешнююКомпоненту("mydll.dll");
> насколько я знаю - никак
можно, только вот я не знаю как (((
Сергей М. (2006-10-20 11:34:00) [14]
> Есть dll которая инилизируется в 1С
Это как ?
StriderMan (2006-10-20 11:22:00) [15]насколько я знаю - никак