Вход | Регистрация
 

Отличие Native и COM внешних компонент

Отличие Native и COM внешних компонент
Я
   ДНН
 
25.05.19 - 23:10
Добрый вечер.
Коллеги, объясните нубу отличие между Native и COM внешними компонентами.
Пока я понял так: Native - должен содержать перечень обязательных функций, описанных 1С
COM - обычный COM объект.
Я правильно понимаю, что COM внешние компоненты нужно регистрировать, а Native нет?
Может кто ссылкой поделится?
Спасибо
 
 
   Garykom
 
1 - 25.05.19 - 23:19
Может тебе еще сайта гугла с яндексом подсказать?

Или хотя бы кнопочку "Я" вверху и ровно справа от названия темы что ты написал?
   ДНН
 
2 - 25.05.19 - 23:20
(1) мне бы на примерах, я уже гуглил и яндексил - пока понял только что нативное - это написанное под конкретное приложение. Ну ком понятно. А для внешних компонент в чем отличия?
   ДНН
 
3 - 25.05.19 - 23:21
я же говорю я нуб, кроме 1с ниче не знаю
   Garykom
 
4 - 25.05.19 - 23:21
Ааа та ты читать не умеешь? Или просто слишком много непонятных слов?

Потому что такую чушь "пока понял" ))

Ты и 1С не знаешь к сожалению
   Garykom
 
5 - 25.05.19 - 23:22
   Garykom
 
6 - 25.05.19 - 23:29
   Garykom
 
7 - 25.05.19 - 23:30
Если же ничего не понял, то краткая выжимка 

http://samag.ru/archive/article/2991
http://samag.ru/archive/article/3027
   H A D G E H O G s
 
8 - 26.05.19 - 00:20
(0) В статьях написан шлак, но, в принципе, это очевидно, так как понятно, кто принес этот щлак на форум.

2 вещи важны:
1) COM компоненты позволяют работать с объектами 1С внутри компоненты.
2) Native компоненты позволяют работать не в Винде, но это и нахрен не нужно.

Поэтому, выбор здорового и разумного человека - COM.

Да, и всякие байки, вроде 
"COM не работает на сервере"
"COM требует записи в реестр"
можно рассказывать населению где-нибудь в северной глуши.
   H A D G E H O G s
 
9 - 26.05.19 - 00:21
Ах, да.
Единственное, где нужен Native - это мобильный клиент на всяких Android.
   Garykom
 
10 - 26.05.19 - 01:13
(9) Принципиально против серверов и рабочих машин на линуксе?
   Конструктор1С
 
11 - 26.05.19 - 04:40
(9) я б сказал Native нужен как минимум там, где нет COM
   vde69
 
12 - 26.05.19 - 08:36
может и не правильно с точки зрения крючкотворства, но некое понимание различий дает такое (технически не правильное, но правильное по сути) восприятие сабжа:

COM - это отдельный объект системы который работает вне зависимости от 1с (типа отдельной службы) и 1с умеет подключатся к этой службе и взаимодействовать с ней.

Native - это DLL которую умеет загружать 1с в свое адресное пространство
   NorthWind
 
13 - 26.05.19 - 08:59
(12) на самом деле BK COM - это in-process COM-сервер, так что по факту и COM-компонента, и Native-компонента загружаются в адресное пространство процесса. COM-сервер в виде отдельного процесса - это когда мы, например, вызываем Excel.Application. Отличие только в том, что Native не использует виндовых механизмов COM и поэтому является кросс-платформенной.
   ДНН
 
14 - 26.05.19 - 09:27
то есть com компонента будет работать и в других системах? И для разработки такой компоненты достаточно написать com-интерфейс?
   ДНН
 
15 - 26.05.19 - 09:27
com-интерфейс или как это правильно называется
   NorthWind
 
16 - 26.05.19 - 09:45
COM-компонента не будет работать в других системах. Для нее необходима Windows.
Насколько я понимаю, Native интерфейс был разработан именно потому, что 1С начала помимо винды смотреть на другие платформы, в частности, на Linux и на мобильные ОС.
   ДНН
 
17 - 26.05.19 - 09:50
(16) другие системы - всмысле не 1С. То есть я написал такую dll и  теперь могу через com использовать ее где угодно.
   H A D G E H O G s
 
18 - 26.05.19 - 10:33
(17) Теоретически. Но лучше так не делать, потому что это будет "ужа через ежа".
   H A D G E H O G s
 
19 - 26.05.19 - 10:36
На самом деле, там с десяток разных вариантов есть, когда разговор заходит не о 1с
   NorthWind
 
20 - 26.05.19 - 10:39
(17) если вы будете писать по соглашениям для 1С, то вряд ли. Если нужна совместимость с другими языками, то я бы посмотрел в сторону написания обычной com-компоненты. Из 1С вполне цепляется, хотя не будет русских имён классов и методов, нельзя лазить в методы платформы и нужно понимать что некоторые типы данных при передаче 1С не позволяет.
   NorthWind
 
21 - 26.05.19 - 10:45
Нужно понимать, что есть классические COM-компоненты, которые можно вызывать из любого языка, и есть ВК для 1С, которые хоть и используют технологию COM, но имеют некоторые отличия. Хотя бы из-за русскоязычного синтаксиса, которого нигде кроме 1С нет. И из-за вызовов платформы.
   ДенисЧ
 
22 - 26.05.19 - 10:55
(21) К чёрту перья! Покажи мне в интерфейсе ВК 1с (через TLB-viewer) хоть одну русскоязычную методу.
   NorthWind
 
23 - 26.05.19 - 11:39
(22) так ежу понятно, что их там не будет. Это делается не штатными средствами Windows.
   H A D G E H O G s
 
24 - 26.05.19 - 12:45
(21) Ох уж эти сказочки, ох уж эти сказошники
http://prntscr.com/ntgogi
   H A D G E H O G s
 
25 - 26.05.19 - 13:01
Ну или так
http://prntscr.com/ntgsyo


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.