Хранитель COM - объектов

18.11.09

Разработка - Разработка внешних компонент

Позволяет сохранять COM - объект между серверными вызовами в 8.2. Сохраняет и получает ссылку на объект в ROT (Running Object Table). БЕТА!

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
COMХранитель
.rar 71,09Kb
83
83 Скачать бесплатно

Позволяет сохранять COM - объект между серверными вызовами в 8.2. Сохраняет и получает ссылку на объект в ROT (Running Object Table). БЕТА!

Примечание: Каждый объект должен быть сохранен/восстановлен по Уникальному Идентификатору (УИД). Простая строка - не пойдет. Если передан неверный УИД - компонента сгенерит свой. По нему и восстанавливайте COM объект.

В проекте идет пример, там мой тестовый COM объект - Ttest82.Ttest82 - меняйте его на свой и тестите.

З.Ы. По идее (по большой идее) - для stan-alone COM - серверов можно безболезнено завершать весь сеанс 1С8.2. Они должны выжить и без него. Но не проверял.

См. также

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77783    73    257    

191

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

3000 руб.

12.05.2020    29078    139    100    

92

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    37130    115    128    

116

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1315    3    4    

3

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2634    bayselonarrend    14    

48

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5397    kovalevdmv    26    

77

Разработка внешних компонент Механизмы платформы 1С Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    7836    starik-2005    40    

47
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. milanse 40 19.11.09 17:42 Сейчас в теме
Хранитель.RegisterComObject(КомОбъект,"F2A23405-8D5E-40D0-A245-DC814D3795D9") Возвращает ""
2. Hadgehogs 495 19.11.09 17:44 Сейчас в теме
Так, а что за объект?

Столкнулся с тем, что
Excel.Application
Word.Application
не регятся

Счаст разбираюсь.
3. milanse 40 19.11.09 18:22 Сейчас в теме
Я использую com сторонних разработчиков
4. Hadgehogs 495 19.11.09 18:23 Сейчас в теме
(3) Это dll-ка, или exe-шник?
5. milanse 40 20.11.09 08:26 Сейчас в теме
я ее еще хочу создавать по сети (дком), тогда наверное не будет работать, но пока локально создаю.
6. EvgeniusRusius 08.12.09 12:52 Сейчас в теме
КомОбъект=Новый COMОбъект("V81.COMConnector");
Идентификатор=Хранитель.RegisterComObject(КомОбъект,Строка(Новый УникальныйИдентификатор()));

Идентификатор пустой :(
7. detec 136 26.03.10 06:59 Сейчас в теме
Есть ли какие-то особенности работы на x64? У меня запуск идёт на сервере 1С:Предприятие x64. И какие тогда поддерживаются компоненты из x64-сеанса, в смысле, x32/x64?
8. detec 136 29.03.10 10:09 Сейчас в теме
В дополнение к (7). Т.е. ВК написана, судя по всему, для x32, и на x64-сервере просто не загружается.

Источник: http://www.dnjonline.com/article.aspx?id=jun07_access3264

Your 32-bit software is still supported on a 64-bit platform as 32-bit processes can be executed inside the dedicated Windows on Windows' (WOW64) subsystem which is part of all 64-bit Windows operating systems. However a 64-bit process cannot load a 32-bit module into its process space, and a 32-bit processes cannot load a 64-bit module into its process space. The only way that communication can happen between 32-bit and 64-bit modules is through interprocess communication (IPC). In other words, 32-bit and 64-bit processes can exchange data using IPC techniques such as out-of-process COM, sockets, Windows messages or memory mapped files.
9. mc2 20 27.08.10 15:22 Сейчас в теме
Хорошо бы еще наверно уметь удалять зарегистрированный в ROT объект.
Т.е. реализовать метод Revoke()...
10. CVZ 20.10.11 11:25 Сейчас в теме
Если требуется сохранить ссылку на com-объект в пределах сеанса пользователя, то задача решается стандартными возможностями 1С.
Нужно создать общий модуль, установить в его свойствах признак "Сервер" и в поле "Повторное использование возвращаемых значений" выбрать вариант "На время сеанса".

далее вставить функцию создания сом-объекта, что-то типа этого

Функция COMСоединениесИБ(СтрокаНастройкиСоединенияСБазой,ТекстОшибки) экспорт
	Если ПустаяСтрока(СтрокаНастройкиСоединенияСБазой) Тогда
		ТекстОшибки = "Не указаны параметры соединения с информационной базой";
		Возврат Неопределено;
	КонецЕсли; 
	Попытка
		V8 = Новый COMОбъект("V82.COMConnector");
		Возврат V8.Connect(СтрокаНастройкиСоединенияСБазой);
	Исключение
		ТекстОшибки = "Невозможно соединиться с информационной базой, причина:"+символы.ПС +
		ОписаниеОшибки();
		Возврат Неопределено;
	КонецПопытки;
КонецФункции // COMСоединениесИБ()
Показать


При первом вызове этой функции произойдет подключение к базе и оно не разорвется на время работы сеанса пользователя.

И, наконец, самое главное, для чего это все нужно - все последующие вызовы этой функции с таким же значением ее параметра будут возвращать ранее инициализированный сом-объект.
TreeDogNight; 1c-intelligence; twin; Oboron; galich; +5 Ответить
13. Oboron 14 14.02.14 12:38 Сейчас в теме
(10) CVZ, Хороший пример. Соответственно если надо заново инициализировать значения, нужно сначала вызвать процедуру "ОбновитьПовторноИспользуемыеЗначения() ".
В типовых конфигурациях еще можно для этого использовать глЗначениеПеременной(..., предварительно добавив в функцию получения нужной переменной инициализацию
11. kr_andr 23.11.11 10:34 Сейчас в теме
12. Zas1402 27.05.13 12:44 Сейчас в теме
Хорошо бы еще наверно уметь удалять зарегистрированный в ROT объект.
Т.е. реализовать метод Revoke()...

Было бы не плохо))
Оставьте свое сообщение