|
Собираюсь писать ВК для 1С на C# Ø (длинная ветка 21.12.2020 20:41) | ☑ | ||
---|---|---|---|---|
0
Гений 1С
гуру
11.12.20
✎
19:44
|
Пример буду брать из "Технологии внешних ВК" на ИТС.
Вопрос такой - где брать платформу C# (IDE)? По сути, мне надо обертку над DLL писать. Раньше ее писал на VB6, но пора переходить на C#, у производителя оборудования пример на C#, кроме того нужна версия компоненты на 32 и 64 разряда. |
|||
1
Гений 1С
гуру
11.12.20
✎
19:44
|
Да, и если у меня используется тип Variant и массив Variant я могу использовать Native или только COM?
|
|||
2
Garykom
гуру
11.12.20
✎
20:30
|
геня ты такой геня
|
|||
3
Garykom
гуру
11.12.20
✎
20:32
|
на C#/.Net для 1С можно (легко и есть примеры) только COM ВК наваять
Native API ВК для 1С хрен на C# напишешь |
|||
4
Престарелый Заяц
11.12.20
✎
20:42
|
Тот случай, когда по названию топика узнал афтора.
|
|||
5
Гений 1С
гуру
11.12.20
✎
20:44
|
(3) Для взять C#?
|
|||
6
Гений 1С
гуру
11.12.20
✎
20:44
|
Где т.е.
|
|||
7
Малыш Джон
11.12.20
✎
20:48
|
на торрентах же
P.S. Ограничения на советы по незаконному скачиванию здесь же только на 1С распростараняются? :) |
|||
8
Garykom
гуру
11.12.20
✎
20:55
|
(5) Чаго взять? VS она Community с инета качается, примеры C# ВК 1С тоже
|
|||
9
Гений 1С
гуру
11.12.20
✎
20:55
|
(8) что такое Community? примеры я возьму с "Технологии ВК"
|
|||
10
Garykom
гуру
11.12.20
✎
20:55
|
(9) ыыы
|
|||
11
ДНН
11.12.20
✎
20:56
|
||||
12
Garykom
гуру
11.12.20
✎
20:56
|
||||
13
Garykom
гуру
11.12.20
✎
20:58
|
(11) имхается после этой ссылки ТС пропадет на месяц минимум ))
|
|||
14
Гений 1С
гуру
11.12.20
✎
21:11
|
(11) там ссылка на VS 2019, а 2020 нету?
|
|||
15
TormozIT
гуру
11.12.20
✎
21:58
|
Основной смысл в том, чтобы у каждого класса прописать атрибуты
[ComVisible(true)] [ClassInterface(ClassInterfaceType.AutoDual)] Тогда для него будет создана COM обертка. Вот моя ВК по этой технологии http://devtool1c.ucoz.ru/load/prochie/gold_parser_engine_net_iskhodniki/2-1-0-11 |
|||
16
Serginio1
11.12.20
✎
22:01
|
Тут вопрос зачем тебе ВК?
1С поддерживает события, можно использовать их. .NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия http://catalog.mista.ru/1c/articles/417830/ В большинстве достаточно Ком объекта. Если тебе нужно вызвать методы из существующей DLL опять же не надо ничего городить уже есть Использование сборок .NET в 1С 7. и 8.x. Создание внешних Компонент. http://catalog.mista.ru/public/238584/ и Использование классов .Net в 1С для новичков http://catalog.mista.ru/1c/articles/448668/ Если тебе нужен контекст 1С из .Net то Быстрое создание Внешних Компонент на C#. Примеры использования Глобального Контекста, IAsyncEvent, IExtWndsSupport, WinForms и WPF http://catalog.mista.ru/1c/articles/457898/ Ну а если хочешь Native ВК Net Core. Динамическая компиляция класса обертки для получения событий .Net объекта в 1С http://catalog.mista.ru/1c/articles/548701/ Ну и ссылки https://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802 Последняя студия 2019 |
|||
17
Ненавижу 1С
гуру
11.12.20
✎
22:11
|
До слёз. Помнится ты его обсуждал. Как выяснилось - даже в глаза не видел.
Ждём интересных историй про c# |
|||
18
DrZombi
гуру
11.12.20
✎
22:39
|
(0) Скачайте Visual Studio 2019 для Windows "Community"
https://visualstudio.microsoft.com/ru/thank-you-downloading-visual-studio/?sku=Community&rel=16 Потом регистрируешься и оно стает на халяву полноценной и на всегда :) Там свой Си шарп составе :) |
|||
19
DrZombi
гуру
11.12.20
✎
22:39
|
Не заморачивайся, версия 2019 года поддерживает все что писано на 2015 или ранее... в общем типо не ищи старье :)
|
|||
20
DrZombi
гуру
11.12.20
✎
22:40
|
+ и так же если выйдет 2021 версия, все тоже, берем ее... :)
|
|||
21
Serginio1
11.12.20
✎
22:46
|
Только нужно учесть, что последняя 2019 поддерживает .Net 5, .Net Standard 2.1
Моя скомпилирована еще под .Net Framework 4.6.1 и не поддерживает сборки выше. |
|||
22
Serginio1
11.12.20
✎
22:46
|
Просто перекомпилируй под нужную версию
|
|||
23
Кирпич
11.12.20
✎
22:49
|
(0) Заказывай студенту сразу на С++ и не мути форум.
|
|||
24
Кирпич
11.12.20
✎
22:54
|
+(23) Можно на паскале за пару часов сделать, но это не наш путь. Будем прям на мисте месяц херачить на сишарпе и потом распространять вместе с .NET. Пара сотен мегабайт в наше время это не много.
|
|||
25
DrZombi
гуру
11.12.20
✎
22:57
|
(24) Поддерживаю. После не забываем делиться дистрибутивами, от меня спасибо :)
|
|||
26
Serginio1
11.12.20
✎
23:03
|
(24) Ты уже отстал от жизни. Посмотри на докеры под линуксы с операционкой, средой .Net.
Да и хреначить то ничего не надо. Ему нужно готовые Dll использовать в 1С. А "NetObjectToIDispatch45" как раз для этого и сделано. Ну еще можно свою Dll прикрутить для упрощения использования в 1С. На паскале то их нет! Так, что как говорится пилите Шура, пилите!!! |
|||
27
Кирпич
11.12.20
✎
23:06
|
(26) докеры то тут при чем
|
|||
28
Garykom
гуру
11.12.20
✎
23:07
|
(27) тем более докер усё
|
|||
29
Кирпич
11.12.20
✎
23:07
|
(26) А чо я отстал. Я наоборот в тренде. Я ж предлагаю на .NET пилить
|
|||
30
Кирпич
11.12.20
✎
23:08
|
(28) а чо с ним?
|
|||
31
Кирпич
11.12.20
✎
23:08
|
вроде работает
|
|||
32
Garykom
гуру
11.12.20
✎
23:09
|
(31) так и ole еще работает, что не отменяет усё
|
|||
33
Кирпич
11.12.20
✎
23:11
|
(32) чота ты загадками говоришь какими то
|
|||
34
Garykom
гуру
11.12.20
✎
23:27
|
||||
35
Serginio1
11.12.20
✎
23:34
|
(27) Я к тому, что .Net Core значительно экономичнее по ресурсам.
Для примера можно посмотреть на Blazor который грузит в районе 2 МБ. Правда код там Il код интерпретируется, но сам факт! (34) Ну это просто развитие контейнеров. Суть то докера упрощение развертывания приложения. Во, что это будет упаковываться не суть |
|||
36
Кирпич
11.12.20
✎
23:39
|
(35) .NET великолепен! Но он для ВК нихера не подходит. Это факт.
|
|||
37
Garykom
гуру
11.12.20
✎
23:40
|
(35) сама идея контейнеров выросла из дикого легаси софта, которое никто не собирается переписывать и к которому начали допиливать настроечно-управляющие интерфейсы
надо софт блин стандартизировать а не придумывать обертки в которые его засунуть |
|||
38
Serginio1
11.12.20
✎
23:41
|
(36) Почему? В чем факт. Сколько пользуюсь одни только премущества?
|
|||
39
Serginio1
11.12.20
✎
23:42
|
(37) Угу еще и сделать оду Линукс и виртуализацию.
|
|||
40
Garykom
гуру
11.12.20
✎
23:44
|
(39) Дык не линуксом единым
Вот глянуть например активити в андроиде, которые по дефолту имеют внешний управлящий их жизненным циклом интерфейс И по дефолту в песочницах работают, кроме системных Чем не замена докера? |
|||
41
Serginio1
11.12.20
✎
23:47
|
(40) Тем, что не используют андроид для тех же сайтов итд.
А линукс он очень легковесный и его можно собрать под определенные задачи. |
|||
42
Serginio1
11.12.20
✎
23:48
|
Сейчас MS как раз большую часть зарабатывают на облаках
|
|||
43
Garykom
гуру
11.12.20
✎
23:48
|
(41) дык просто нужен специальный "андроид для серверов/сайтов" и все
и софт под него, нужных версий-совместимости, который изначально пишется с поддержкой внешнего управления и песочнизации |
|||
44
Serginio1
11.12.20
✎
23:50
|
(43) Вот когда его сделают, может и потянутся люди. А пока там даже проблема с явой.
Ну и свою фуксию на дарте пилят |
|||
45
Garykom
гуру
11.12.20
✎
23:52
|
(44) Судя по тому что гугл начал свою хромос сливать/интегрировать с андроид/гуглеплей и линуксом - фуксия пока в пролете
|
|||
46
Garykom
гуру
11.12.20
✎
23:54
|
(45) Последние тренды это слияние декстопа с мобильными, вопрос что будет с серверами?
Подозреваю тоже сольются и будет "arm сервер на андроид 12" )) |
|||
47
Serginio1
11.12.20
✎
23:56
|
(0) Да через COM по барабану какая ось 32 и 64 разряда. если сборка скомпилирована под Any CPU.
(45) Для примера .Net в линуксе работает без посредников или через легковесные PInvoke, а Xamarin приходится делать более сложные мосты к JVM |
|||
48
Конструктор1С
12.12.20
✎
06:14
|
(0) если бы ты хотя бы раз писал на шарпе, то не задавал бы таких глупых вопросов
|
|||
49
DrZombi
гуру
12.12.20
✎
11:06
|
(48) Вот начнет, и у него будут другие вопросы :)
|
|||
50
Гений 1С
гуру
12.12.20
✎
12:24
|
(48) не писал, потому и спрашиваю. (49) именно
|
|||
51
Гений 1С
гуру
12.12.20
✎
12:25
|
(47) а как указать сборку под Эни Цпу, и будет ли это поддержано в 1С
|
|||
52
Serginio1
12.12.20
✎
13:43
|
||||
53
Serginio1
12.12.20
✎
13:50
|
(51) 1C ничего не знает о Com просто система видит из какого процесса идет вызов и запускает нужную среду которая уже и джитит (компилирует) нужную сборку.
Хотя есть нюансы для выполнения кода в отдельно Dll суррогате. Но это другая песня |
|||
54
Гений 1С
гуру
12.12.20
✎
13:51
|
(17) я обсуждал не его. врожденное буквоедство тебе мешает это понять.
(16) да, мне нужна обертка над DLL, но в этой ВК названия методов должны совпадать с прошлыми. Чтобы просто заменить и все. Т.е. просто обертка наверное не взлетит. |
|||
55
Гений 1С
гуру
12.12.20
✎
13:54
|
Ах да, у поставщика оборудования демка по взаимодействию с оборудованием написана на C#, поэтому и юзаю C#, а не Паскаль. Там уже все линки к DLL прописаны.
|
|||
56
Serginio1
12.12.20
✎
13:55
|
https://ru.stackoverflow.com/questions/1205995/как-собрать-x32-приложения-в-x64-системе-с
(54) Ну так и используй NetObjectToIDispatch45 Я её кстати делал, когда мне нужно было к Soap сервисами работать, а 1С не поддерживает хидеры и прочуюю лабуду. Просто создав в студии классы для доступа к этому вэб сервису, все методы 1 в 1 вызывались из 1С через NetObjectToIDispatch45 А там было за сотню методов и классов |
|||
57
Гений 1С
гуру
12.12.20
✎
13:59
|
(56) как-то это неклассически использовать такой хитрожопый подход, но я посмотрю. Если учебной курвы хватит, то может и сделаю.
ты можешь на словах объяснить, чем это лучше обычной компиляции и в чем соль подхода? |
|||
58
Garykom
гуру
12.12.20
✎
14:01
|
(57) VS не надо ставить, достаточно Конфигуратора ))
|
|||
59
Гений 1С
гуру
12.12.20
✎
14:02
|
(58) это как?
|
|||
60
Garykom
гуру
12.12.20
✎
14:03
|
(56) Есть пример как через NetObjectToIDispatch45 использовать внешние dll на С/С++ ?
|
|||
61
Garykom
гуру
12.12.20
✎
14:04
|
(59) Это примерно как через COM/OLE из одной базы 1С с другой базой 1С работать ))
|
|||
62
Serginio1
12.12.20
✎
14:04
|
(57) Ты хоть попробуй. Так или иначе тебе все равно .Net и C# изучать придется. А так есть куча примеров.
Это лучше тем, что уже есть COM обертка над объектами. А так для создания объекта, передача их в параметрах нужно городить ком обертки вручную! Это конечно не касается примитивных типов |
|||
63
Garykom
гуру
12.12.20
✎
14:05
|
(61)+ Только на другом конце не 1С а .Net и все совершенно ниуя не понятно для обычного одинэсника
|
|||
64
Serginio1
12.12.20
✎
14:07
|
(61) Напрямую нет. Хотя можно зная сигнатуру метода можно динамическу компиляцию подключить
http://catalog.mista.ru/1c/articles/466196/ |
|||
65
Serginio1
12.12.20
✎
14:08
|
||||
66
Garykom
гуру
12.12.20
✎
14:08
|
(64) (65) для гения это сильно сложно, не освоит
|
|||
67
ДНН
12.12.20
✎
14:14
|
(64) Где-то читал что есть такая технология как .Net Native, которая из dll с управляемым кодом делает dll с машинным кодом. После этого она работает без .Net.
А нельзя написать ВК на C# по технологии Native API, потом через .Net Native сделать из нее dll с машинным кодом и подсунуть 1с? |
|||
68
Garykom
гуру
12.12.20
✎
14:17
|
(67) На практике нет
|
|||
69
Serginio1
12.12.20
✎
14:20
|
(67) Все равно сборщик мусора есть. Но он небольшой.
Проблема .Net Native в том, что он только под 10 ку и хранится он по особому. Не нашел поддержки COM |
|||
70
Serginio1
12.12.20
✎
14:22
|
(67) Можешь написать ВК на C# по технологии Native API
http://catalog.mista.ru/1c/articles/534901/ Проблем нет. Только сейчас новый Апи https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/netcore-hosting Написание пользовательского хост-приложения NET Core для управления средой выполнения .NET из машинного кода Пример https://github.com/dotnet/samples/blob/master/core/hosting/HostWithHostFxr/src/NativeHost/nativehost.cpp |
|||
71
acht
12.12.20
✎
14:24
|
(67) Только для UWP приложений и только для Windows 10
|
|||
72
jbond
12.12.20
✎
14:51
|
Еще одно подтверждение факта, что 1Сники это не программисты.
|
|||
73
Garykom
гуру
12.12.20
✎
14:55
|
(72) это еще с фронтендерами не сталкивался (которые про nodejs не слыхали)
|
|||
74
Serginio1
12.12.20
✎
14:56
|
70+ Если не нужна динамическая компиляция и прочее можно обрезать
Обрезка автономных развертываний и исполняемых файлов https://docs.microsoft.com/ru-ru/dotnet/core/deploying/trim-self-contained |
|||
75
Ненавижу 1С
гуру
12.12.20
✎
15:11
|
(72) обидно, что судят обо всех по топик-стартеру
|
|||
76
Гений 1С
гуру
12.12.20
✎
15:21
|
(75) на обиженных воду возят. расслабься, перекури
|
|||
77
Гений 1С
гуру
12.12.20
✎
15:21
|
(72) а кто такие программисты, вот интересно твое мнение
|
|||
78
Кирпич
12.12.20
✎
15:43
|
(77) Кто первый назвался программистом, тот и программист
|
|||
79
Кирпич
12.12.20
✎
15:45
|
(77) А чо за железяка? Для чего ВК? Ты на инфостарте то поискал? Может там таких ВК куча.
|
|||
80
Гений 1С
гуру
12.12.20
✎
15:47
|
(79) Дверной замок Anviz. Я - эксклюзивный разработчик. На инфостарте кое-что есть, но наколенное и бренное. Только я пишу на века. ;-)
|
|||
81
Кирпич
12.12.20
✎
15:49
|
(75) там судья то сам нифига не авторитет в программировании, чтобы так плакать от его мнения.
|
|||
82
Гений 1С
гуру
12.12.20
✎
15:50
|
(81) У Ненавижна ко мне личное. Как у Сольери к Моцарту. ;-) Люди всегда завидуют тем, кто чего-то добился. А чего добился ненавижн? Выплаченной ипотеки? тьфу...
|
|||
83
Гений 1С
гуру
12.12.20
✎
15:51
|
(79) там новое SDK в 2020 вышло, нужно полностью методы переписывать. Китайцы тоже не придерживаются обратной совместимости.
|
|||
84
Garykom
гуру
12.12.20
✎
15:55
|
(83) кинь ссылку на SDK
|
|||
85
Кирпич
12.12.20
✎
15:56
|
(80) ёптыть. я думал там космический корабль.
|
|||
86
Кирпич
12.12.20
✎
16:07
|
(80) полный интернет этого Anviz, а у тебя прям эксклюзив. может лет 10 назад был эксклюзив?
|
|||
87
Гений 1С
гуру
12.12.20
✎
16:23
|
(86) дай примеры и я тебе объясню, что это не то. Уж поверь мне, брозер. Ты наверное смотришь дрова под сканер UBIO, а я про дверной замок. Там свои приколы, в нем хранится журнал проходов и на него хотят сливать отпечатки, снятые через UBIO, все это я умею делать.
|
|||
88
Гений 1С
гуру
12.12.20
✎
16:23
|
(84) мне поставщик присылал, не знаю, где она в свободном доступе.
|
|||
89
Serginio1
12.12.20
✎
16:24
|
(80) Кстати для асинхронного выполнения aync await есть выполнитель, если не хочешь синхронно Result или Wait вызывать
http://catalog.mista.ru/1c/articles/466052/ |
|||
90
Гений 1С
гуру
12.12.20
✎
16:31
|
(89) мне в ВК не нужна обработка событий, там по сути чисто библиотека
|
|||
91
Garykom
гуру
12.12.20
✎
16:35
|
Короче совет "гению", но вряд ли послушаешь.
Если это можно по функционалу железок то не надо делать никакие ВК для 1С. Просто ваяешь внешнее приложение которое поднимает http сервер и общается с железкой. А 1С по http банально запросами общается с этим внешним. Ну или если нужны вызовы в 1С то http сервис в 1С поднимается и внешнее от железки его дергает. |
|||
92
Гений 1С
гуру
12.12.20
✎
16:38
|
(91) вряд ли послушаю, потому что смысл лепить еще одну прокладку? внешнее приложение тоже еще написать надо. Если бы производитель написал его сам, то ок. но он не чешется
|
|||
93
Garykom
гуру
12.12.20
✎
16:39
|
(92) Дык используя то что есть от производителя и простейший шаблон http сервиса (коих в инете дофига на почти всех языках) это банально.
И нет привязки и разных глюков при написании ВК под 1С |
|||
94
Garykom
гуру
12.12.20
✎
16:40
|
(92) Твоя ВК это и есть "прокладка". В 1С отличная работа с http встроена в 8-ке что еще надо то?
|
|||
95
Garykom
гуру
12.12.20
✎
16:45
|
(91)+ Получаем еще один плюс что железка не обязательно должна быть локально подключена там где 1С, можно железку воткнуть в апельсинку/малинку (или нечто вроде) а с 1С по сети, даже через инет.
|
|||
96
Serginio1
12.12.20
✎
16:45
|
(90) Ну вообще то весь код на .Net асинхронный async await
Нет смысла висеть пока придет событие по await. Я к тому, что изучи существующий код. На него потрачены годы! Ты за время вопроса, что то хоть посмотрел? Попробовал? |
|||
97
Кирпич
12.12.20
✎
16:49
|
Чо вы блин распинаетесь. Не будет он ничо писать. Даст 2000р студенту и все дела.
|
|||
98
Ненавижу 1С
гуру
12.12.20
✎
16:51
|
Вы сейчас насоветуете. Сказал же технология уникальная. А вы ему всю уникальность снимите
|
|||
99
Garykom
гуру
12.12.20
✎
16:51
|
(97) студент сча не такой глупый пошел чтобы за 2000р вкалывать
когда есть куча других вариантов заработать больше и легче |
|||
100
Garykom
гуру
12.12.20
✎
16:51
|
100
|
|||
101
Кирпич
12.12.20
✎
16:53
|
(99) Да нормально. Пива попить.
|
|||
102
Гений 1С
гуру
12.12.20
✎
16:57
|
(99) вы таки про закладки и вебки?
|
|||
103
Гений 1С
гуру
12.12.20
✎
16:57
|
(97) с чего это. На VB6 сам писал.
|
|||
104
Гений 1С
гуру
12.12.20
✎
16:58
|
(94) понимаешь, это усложнение схемы, которое ляжет на плечи клиента, ему нужно будет еще сервак поднять.
|
|||
105
Гений 1С
гуру
12.12.20
✎
16:59
|
(95) ну в данном случае дверной замок и так по TCP-IP доступен, если че.
|
|||
106
Кирпич
12.12.20
✎
16:59
|
(98) Если гений не будет верить, что оно у него уникальное, то как он будет впаривать это клиентам. Неубедительно получится. Глаза будут бегать, румянец и всё такое...
|
|||
107
Гений 1С
гуру
12.12.20
✎
17:00
|
(106) ты сперва это готовое покажи
|
|||
108
Garykom
гуру
12.12.20
✎
17:02
|
(105) этот твой дверной замок подрубается к готовой скуд системе а у нее уже есть готовая интеграция с 1С
|
|||
109
Garykom
гуру
12.12.20
✎
17:02
|
(106) +1
|
|||
110
Кирпич
12.12.20
✎
17:02
|
(105) Так и нахер тебе тогда .NET, C# и геморрой
дай вон денег Garykom. Он тебе запилит по первому классу. |
|||
111
Garykom
гуру
12.12.20
✎
17:03
|
(110) у него стока нет сколько я запрошу
|
|||
112
Кирпич
12.12.20
✎
17:04
|
+(110) SDK только ему покажи. Там делов на полдня наверное
|
|||
113
Гений 1С
гуру
12.12.20
✎
17:04
|
(108) зайка, есть маленький нюанс - возможно она и выгрузит данные о проходах. Но вот разработчики СКУД наверняка не подумали о заливке пальцев из 1С в замок. Кризис Айти, видишь ли. Готовые решения они всегда такие.
|
|||
114
Гений 1С
гуру
12.12.20
✎
17:05
|
(111) ну за такие деньги я и сам напишу. А сколько ты хочешь за обертку над 10 методами, скажем?
|
|||
115
Гений 1С
гуру
12.12.20
✎
17:05
|
(109) Кукушка хвалит петуха, а дать конкретику - хаха
|
|||
116
Кирпич
12.12.20
✎
17:05
|
(111) Кредит возьмет. 5000 дадут
|
|||
117
Гений 1С
гуру
12.12.20
✎
17:06
|
(112) видишь ли, лишний опыт в C# не помешает. Пусть я неделю потрачу, но зато потом и для Anviz Ubio коннектор свой перепишу на C#
|
|||
118
Кирпич
12.12.20
✎
17:07
|
(117) да ты через неделю забудешь весь этот опыт. зато жизнь укоротишь лет на 5
|
|||
119
Конструктор1С
12.12.20
✎
17:08
|
(50) как ты со своими дохэллоуворлдными знаниями шарпа собрался ВК писать?
|
|||
120
Ненавижу 1С
гуру
12.12.20
✎
17:09
|
Не мешайте. Будет много сабжей про Шарп говно и ООП это лажа
|
|||
121
Гений 1С
гуру
12.12.20
✎
17:10
|
(119) так же как и на VB6 писал - по образцу, любезно представленному 1С
|
|||
122
Гений 1С
гуру
12.12.20
✎
17:10
|
(120) В ВК ооп не требуется
|
|||
123
Гений 1С
гуру
12.12.20
✎
17:11
|
(118) да ладно, по VB6 вот недавно открывал и перекомпилировал на VB6, к тому же сейчас я записываю все в Эвернот в чек-листы, все пучком. специально, чтобы не помнить, а знать, где посмотреть.
|
|||
124
Кирпич
12.12.20
✎
17:13
|
(123) Ну давай. Только обязательно на C# делай. Это очень перспективно, легко и технологично. 1С рекомендует.
|
|||
125
Гений 1С
гуру
12.12.20
✎
17:13
|
(124) ну я ж писал, что у меня исходники примера на C#, к чему юзать нечто другое?
|
|||
126
Garykom
гуру
12.12.20
✎
17:16
|
(121) Как бы сказать но нету образца ВК на C# от 1С ))
И для VB тоже больше нетути, очень давно было но даже уже хрен скачаешь легко |
|||
127
Гений 1С
гуру
12.12.20
✎
17:16
|
Вот что пишет 1С:
В качестве средств разработки можно применять: Microsoft Visual C++, Delphi, C++ Builder, Xcode, Eclipse, gcc, CMake. Примеры создания внешних компонент находятся в каталоге \1CIts\EXE\VNCOMPS Примеры для работы с "1С:Предприятием 8.3" располагаются в подкаталоге VNCOMP83. ВЫ МОЖЕТЕ ПРЯМО СЕЙЧАС СКОПИРОВАТЬ ПРИМЕРЫ ВНЕШНИХ КОМПОНЕНТ НА ЖЕСТКИЙ ДИСК ВАШЕГО КОМПЬЮТЕРА Гм, скачал, примера на C# непосредственно там нет, только на С++. Ну да ладно, думаю в C# VC есть пример COM-компоненты. Ну или загуглю |
|||
128
Гений 1С
гуру
12.12.20
✎
17:16
|
(126) о, прям прочитал твои мысли.
|
|||
129
Garykom
гуру
12.12.20
✎
17:17
|
(125) Он над тобой стебется
|
|||
130
Гений 1С
гуру
12.12.20
✎
17:17
|
(126) если сам не разберусь, запрошу образец на KWORK
|
|||
131
Гений 1С
гуру
12.12.20
✎
17:17
|
(129) Да на здоровье (психическое)
|
|||
132
Garykom
гуру
12.12.20
✎
17:17
|
(128) Это я твои будущие страдания предсказал ))
|
|||
133
Garykom
гуру
12.12.20
✎
17:18
|
(127) то что ты загуглишь будет под совсем другую VS времен так 2003 ))
|
|||
134
Ненавижу 1С
гуру
12.12.20
✎
17:19
|
(130) рано заднюю включил
|
|||
135
Гений 1С
гуру
12.12.20
✎
17:20
|
(134) не надо тут о задних, извращенец. Дописывать то все равно я буду. ;-) я не стесняюсь покупать то, чего не умею
|
|||
136
Гений 1С
гуру
12.12.20
✎
17:24
|
(132) переживу.
|
|||
137
Гений 1С
гуру
12.12.20
✎
17:26
|
Вот уже один проторил дорогу: http://diesel.elcat.kg/index.php?showtopic=2642287
|
|||
138
Гений 1С
гуру
12.12.20
✎
17:27
|
Кину до кучи еще одни примеры:
Прочитал статью на Mista Книга знаний: Написание внешних компонент для 1С на VB.NET и C#;, скачал примеры - на VB/NET (http://www.kb.mista.ru/files/NetV7ExtTemplate.rar) и на C# (http://www.kb.mista.ru/files/V7ExtTemplate-1.C.rar). Запустил готовую DLL на 8.0 - работает и ВК на VB/NEt и на C#. С 7.7 работает только ВК на VB/NET. Скомпиллировал коды - те же результаты. Переписал код с VB на C# - то-же самое, работает только с 8.8. Автор статьи не ответил. Может кто-нибудь может дать ответ: Как заставить ВК на C# + NET работать с 7.7? Где собака зарыта? |
|||
139
Serginio1
12.12.20
✎
17:27
|
(127) Вот зачем тебе ВК если у тебя нет событий, не нужен доступ к контексту 1С.
Пиши просто КОМ обертку! Не нужна тебе ВК |
|||
140
Гений 1С
гуру
12.12.20
✎
17:29
|
(139) так я и хочу COM-Обертку написать вроде как. У меня на VB6 была именно COM-Компонента.
|
|||
141
Garykom
гуру
12.12.20
✎
17:29
|
(139) нахер ком обертка когда консольное приложение можно ))
|
|||
142
Гений 1С
гуру
12.12.20
✎
17:29
|
(139) Примеры есть на C#?
(141) я с этого примерно и начинал, но не очень удобна консолька для 1С |
|||
143
Garykom
гуру
12.12.20
✎
17:30
|
(142) дык запускается консольное оно попадает в трей и висит там отвечает на запросы http от 1С ))
|
|||
144
Гений 1С
гуру
12.12.20
✎
17:30
|
Кстати, а Ромикс как поживает?
|
|||
145
Гений 1С
гуру
12.12.20
✎
17:30
|
(143) из пушки по воробьям. нах
|
|||
146
Garykom
гуру
12.12.20
✎
17:32
|
(145) а что ты будешь делать если у тебя 1С в облаке фреш или под линуксом или мобильная android/ios ?
|
|||
147
Serginio1
12.12.20
✎
17:33
|
(138) Возьми отсюда, если хочешь свой велосипед
Быстрое создание Внешних Компонент на C#. Примеры использования Глобального Контекста, IAsyncEvent, IExtWndsSupport, WinForms и WPF http://catalog.mista.ru/1c/articles/457898/ (141) Ну это уже на вкус и цвет. А так по моему проще через HTTP или Вэб сервис написать и быстрее. За то время пока эта тема висит. Я вот не пойму бери готовый NetObjetToIDispatch45 и используй. Заодно .Net изучишь, а затем пиши уже что захочешь |
|||
148
Serginio1
12.12.20
✎
17:35
|
(142) Я тебе список примеров дал в (16) бери и используй.
Там и есть и обычная Com комобертка и обертка через IReflect |
|||
149
jbond
12.12.20
✎
17:39
|
(73) вы будете смеяться, но нода это неотъемлемая часть современного фронта.
Где вы откопали фронтендеров, которые не могут запустить вебпак, который на ноде? |
|||
150
Serginio1
12.12.20
✎
17:44
|
Если ты откроешь файл NetObjectToIDispatch45.cs то там как раз и объявление класаа
[ComVisible(true)] [ProgId("NetObjectToIDispatch45")] [ClassInterface(ClassInterfaceType.AutoDispatch)] [Guid("DFDADA57-B22C-4276-928A-8B91C9891FF1")] public class NetObjectToIDispatch45 и методы public object СоздатьОбъект(object Тип, params object[] argOrig) итд если метод не помечен как [ComVisible(false)] он будет виден из 1с. Ну и методы должны быть как public. Бери пробуй, изучай, делай по своему. |
|||
151
Serginio1
12.12.20
✎
17:44
|
У тебя все есть
|
|||
152
jbond
12.12.20
✎
17:52
|
(91) ура... Все таки есть программисты среди 1Сников
|
|||
153
Serginio1
12.12.20
✎
18:03
|
150+ А есть класс
[ClassInterface(ClassInterfaceType.AutoDispatch)] [ComVisible(true)] [Guid("1521B4B2-F38B-4CAD-BB45-3C6E1F00982F")] public class AutoWrap : IReflect Именно через него можно автоматически обертывать объект если это не примитивный тип, string и прочее смотри метод |
|||
154
Serginio1
12.12.20
✎
18:03
|
public static object ОбернутьОбъект(object obj)
|
|||
155
jbond
12.12.20
✎
18:04
|
ОК, раз тяпничная тема продолжается в субботу, то поднаброшу:
Последняя норамальная IDE для шарпа - это Visual Studio 2010. Дальше студия начала скатываться. Сейчас в банковском тырпрайзе, если доходит дело до разработки на шарпе, то выбирается якобы давно умерший SharpDevelop. |
|||
156
Гений 1С
гуру
12.12.20
✎
18:19
|
(146) ничего. не буду туда внедрять.
|
|||
157
Гений 1С
гуру
12.12.20
✎
18:19
|
(152) кукушка опять хвалит петуха
|
|||
158
Garykom
гуру
12.12.20
✎
18:22
|
(156) Не внедряй, ко мне например обратятся или другим кто внедрит ))
|
|||
159
Кирпич
12.12.20
✎
18:32
|
(154) да да да. Здесь рыбу заворачивали. https://www.youtube.com/watch?v=hOrLrLPsv1k
|
|||
160
Кирпич
12.12.20
✎
18:33
|
+(159) Инструкция как писать ВК на C#
|
|||
161
Гений 1С
гуру
12.12.20
✎
18:34
|
(158) у тебя сайт хоть есть, внедренец?
|
|||
162
Garykom
гуру
12.12.20
✎
18:35
|
(161) Кому то шашечки а кому то ехать, шашечки это не ко мне.
|
|||
163
Ненавижу 1С
гуру
12.12.20
✎
20:21
|
(161) лучше не иметь вовсе сайта чем такое - httpss://geniy1s.ru/
|
|||
164
Гений 1С
гуру
12.12.20
✎
21:57
|
(163) не лучше. Вот ты не имеешь сайта и че? Гниешь на фикси
|
|||
165
zavsom111111
12.12.20
✎
22:00
|
(0) я поставил визуал студию коде - для писанины роботов под биржу бинанс на голанде и питоне так вот она универсальная там и ява там и си шарп
|
|||
166
Гений 1С
гуру
12.12.20
✎
22:12
|
(165) для себя роботов пишешь или клиентам?
|
|||
167
zavsom111111
12.12.20
✎
23:20
|
(166) для себя конечно - я давно на бинансе торгую с 2017
|
|||
168
zavsom111111
12.12.20
✎
23:21
|
||||
169
zavsom111111
12.12.20
✎
23:26
|
год уже в Пензе просиживаю - тесть с тещей старые по 83 года - тесть абсолютно слепой а тещу инсульт в начале лета разбил и никуда от них не уехать - хуже маленьких детей - маленьких взял и повез а с этими еще и с их мнением надо считаться: то не так сиделка им не нравится другую давай а сиделка нынче одна для двоих от 2500 сутки вот и улетает все на них и все их пенсии на таблетки - лекарства для пенсионеров адову тучу денег стоят кароче 110 120 тыч\сяч в месяц улетает на все про все ну в принципе не критично так как у них пенсия 50 тыщ. Ну и я как и ты (0) тоже веду учет домашних денег в своей программе уже аж с 2006 года
|
|||
170
zavsom111111
12.12.20
✎
23:27
|
хата в Москве пустая стоит даже не знаю что счас с ней стало с 30 сентября не был как сосед залил сверху с 6 этажа всех пролил и 4 подо мной и третий и второй и первому хуже всех досталось а мне за актом даже съездить нельзя - стариков боюсь заразить
|
|||
171
zavsom111111
12.12.20
✎
23:29
|
нас с марта выгнали на карантин наша крыша схлопотала корону в ОАЭ еще в декабре прошлого года и в такой жуткой форме что когда выздоровел и узнал про корону в Москве выгнал всех из офиса по домам а через неделю у нас все в отеле в калуге перезаражались и понеслось
|
|||
172
zavsom111111
12.12.20
✎
23:31
|
много народу реально переболело - а друзья даги в мытищах ваще жуть порассказали - им прикрыли аренду на время карантина в мае и они в дагестан ломанулись везя на себе корону кароче там аулами вымирали
|
|||
173
zavsom111111
12.12.20
✎
23:33
|
у меня счас там все переболели ваще все поголовно - главбухша слегла с 25% поражения легких - ее температура накрыла она сознание потеряла упала и ноги себе переломала кое как очнулась утром теперь вот с переломами лежала на ивл и еще и шейку бедра умудрилась сломать
|
|||
174
zavsom111111
12.12.20
✎
23:35
|
(0) кстати поинтересуйся у тебя в железке в лесу есть контора АПИСАН - они лекарства для животных выпускают на всю Россию от мух (пчел) до коров и кошек и собак - я им бизнес процессы внедрял на КА2 можа они счас ничьи.
|
|||
175
zavsom111111
12.12.20
✎
23:35
|
Хорошо платили от ляма только за один документооборот
|
|||
176
zavsom111111
12.12.20
✎
23:38
|
Кстати че у вас там в Белоруссии? Когда уже этого батьку палками забьете?
|
|||
177
Злопчинский
13.12.20
✎
00:32
|
||||
178
Конструктор1С
13.12.20
✎
08:28
|
(121) сначала начись код нормально писать. Это в 1с, особенно во фрилансах, кривокодерство считается нормой. В тру-программировании так не принято
|
|||
179
Конструктор1С
13.12.20
✎
08:29
|
*научись
|
|||
180
Гений 1С
гуру
13.12.20
✎
09:52
|
(178) шта? что такое тру-программирование, дяденька? и вообще 0 бит.
|
|||
181
Гений 1С
гуру
13.12.20
✎
09:52
|
(174) спасибо, мне хватает клиентов. ;-) и я их не по географическому принципу выбираю.
|
|||
182
Гений 1С
гуру
14.12.20
✎
21:53
|
Завтра-послезавтра начинаю писать ВК. Уххх, с БОгом!
|
|||
183
Кирпич
14.12.20
✎
21:57
|
(182) Смотрел я этот SDK. Там обычная dll и .h файл. Проще всего на Си++ сделать Native ВК по шаблону от 1с.
А C# это дичь |
|||
184
Serginio1
14.12.20
✎
22:39
|
(183) Как раз С++ это дичь. Да и не нужна там ВК. Кома достаточно, без всяких приседаний с 32 и 64 разрядами.
(182) Не знаю как насчет БОга, но Бит точно поможет! |
|||
185
acht
15.12.20
✎
01:05
|
(182) > начинаю
https://www.youtube.com/watch?v=GXI6uQEvCkc |
|||
186
Кирпич
15.12.20
✎
12:00
|
(184) /без всяких приседаний с 32 и 64 разрядами
ох ёптыть какая страшная проблема :) |
|||
187
Serginio1
15.12.20
✎
17:08
|
(186) Проблем то нет. Только вот время на такую хрень уходит.
Кроме того я программирую на С++ раз в пятилетку и виж то, что делается на шарпе в полтыка, на плюсах нужно нехтло поприседать. У меня коллега плюсовик, называет C# детским языком, при переходе с плюсов. Гению вообще то писать ничего и не надо. Взять NetObjectToIDispatch45 и вызвать эти 10 методов через него. Но пусть лучше погрузится в очаровательный мир .Net и C# 9! |
|||
188
Кирпич
15.12.20
✎
17:14
|
(187) //Взять NetObjectToIDispatch45 и вызвать эти 10 методов через него.
фиг знает. там куча структур каких то. указателей |
|||
189
Кирпич
15.12.20
✎
17:17
|
Хотя можно сначала создать класс с 10 методами, который скроет всю галиматью, и его уже через NetObjectToIDispatch45 показывать
|
|||
190
H A D G E H O G s
15.12.20
✎
17:22
|
Че там, Сергей, написал уже всё?
|
|||
191
Serginio1
15.12.20
✎
17:56
|
(109) Смотря, что ему нужно. https://github.com/MxLabs/Anviz/blob/development/Sample/Program.cs
Если просто посылать, то ничего и не надо. Если нужно для удобства события обрабатывать, то можно События обрабатывать либо через ДобавитьОбработчик или СобытиеДля1С.ExternalEvent http://catalog.mista.ru/1c/articles/417830/ Но пусть для начала перейдет с бейсика! |
|||
192
Garykom
гуру
15.12.20
✎
18:13
|
(191) гы полчаса обернуть пример в http сервис
https://docs.microsoft.com/en-us/dotnet/api/system.net.httplistener?redirectedfrom=MSDN&view=net-5.0 |
|||
193
Кирпич
15.12.20
✎
18:33
|
(190) Для человека, который "забыл С++" это плёвое дело
|
|||
194
Serginio1
15.12.20
✎
19:04
|
(192) Ну события мы через gRPC? http как и Web сервис это же моветон!
https://docs.microsoft.com/ru-ru/aspnet/core/tutorials/grpc/grpc-start?view=aspnetcore-5.0&tabs=visual-studio |
|||
195
Serginio1
15.12.20
✎
19:05
|
||||
196
H A D G E H O G s
15.12.20
✎
20:23
|
(191) обьектами 1с нельзя будет пользоваться и в реестре нужно будет регаться.
|
|||
197
Кирпич
15.12.20
✎
20:29
|
и Linux
|
|||
198
pavig
15.12.20
✎
20:31
|
(0)
А что с убивцей 1С? Просто интересуюсь |
|||
199
Кирпич
15.12.20
✎
20:46
|
(198) Террабайты порнухи еще не спрятаны Где хранить архивные копии на винтах?
Не может ничо делать пока на душе не спокойно |
|||
200
Serginio1
15.12.20
✎
21:38
|
(191) Ну вообще то можно
здесь как раз используется IAsyncEvent и глобальный контекст .NET(C#) для 1С. Динамическая компиляция класса обертки для использования .Net событий в 1С через ДобавитьОбработчик или ОбработкаВнешнегоСобытия http://catalog.mista.ru/1c/articles/417830/ ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C"); объект = СоздатьОбъект("AddIn.GlobalContext1C"); ГлобальныйКонтекст= объект.ГлобальныйКонтекст; ОберткаСобытий= врап.СоздатьОберткуДляСобытий77(ОбертываемыйОбъект,ГлобальныйКонтекст); Здесь пример быстрого создания своей ВК http://catalog.mista.ru/1c/articles/457898/ Ну один раз зарегистрировал NetObjectToIDispatch45 и используй любые сборки .Net |
|||
201
Serginio1
15.12.20
✎
21:51
|
(199) Я когда делал
Кроссплатформенное использование классов .Net в 1С через Native ВК. Или замена COM на Linux http://catalog.mista.ru/1c/articles/534901/ И всем понравившийся Ъ, понял, что линукс нахрен никому не нужен, а вместо ВК людям проще писать Web или Http сервисы Но написать ВК на C# не проблема. Просто Ъ универсальный, а под конкретную задачу пишется также как и любого нативного языка, просто использую шлюз к .Net к статическим методам Написание пользовательского хост-приложения NET Core для управления средой выполнения .NET из машинного кода https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/netcore-hosting |
|||
202
Гений 1С
гуру
15.12.20
✎
22:14
|
А шаблон проекта c# для вк есть (com, не native) ? И что там с 32/64 бит?
Пока что качаю vc |
|||
203
Serginio1
15.12.20
✎
22:58
|
(202) Еще раз посмотри (200) там есть все для ВК? Ты за 2 дня мог все просмотреть. Еще раз Any CPU не привязан к разрядности процесса
|
|||
204
Ненавижу 1С
гуру
15.12.20
✎
23:06
|
(202) гугл совсем умер? https://wiki.programstore.ru/c-1c-pishem-prostejshij-com-server-dlya-1s/
|
|||
205
Гений 1С
гуру
16.12.20
✎
09:55
|
(198) отложена, т.к. нет финансирования.
|
|||
206
Гений 1С
гуру
16.12.20
✎
09:56
|
(204) спасибо, попробую.
Я так понимаю, это COM-компонента. и при запуске из 64-разрядной 1С работать не будет без плясок с бубном? или будет? |
|||
207
Гений 1С
гуру
16.12.20
✎
09:58
|
(203) Посмотрел, ничего не понял, каким это боком поможет мне написать ВК-обертку над библиотекой функций оборудования в DLL. Не стоит предлагать начинающему хирургу удаление аппендикса через гланды, Dear
|
|||
208
Garykom
гуру
16.12.20
✎
10:04
|
(207) Тебе пытаются намекнуть что ВК уже написана и VS ставить не надо.
Просто готовую ВК подключил и сразу на C#/.Net писать можно |
|||
209
Serginio1
16.12.20
✎
10:07
|
(206) Читаешь Использование классов .Net в 1С для новичков
Смотришь какие типы методов используешь. Создаешь объекты и вызываешь методы с нужными параметрами http://catalog.mista.ru/1c/articles/448668/ |
|||
210
Serginio1
16.12.20
✎
10:42
|
209+ И смотри комментарии. Там много вопросов и ответов
|
|||
211
Гений 1С
гуру
16.12.20
✎
12:31
|
(210) и все же это не то, что мне нужно. Мне нужна обертка над DLL, своя ВК.
|
|||
212
Гений 1С
гуру
16.12.20
✎
12:35
|
(208) мне не годится подобный метод. Мне нужна совместимость с прошлой ВК, т.е. решение должно быть оформлено, как ВК
|
|||
213
Serginio1
16.12.20
✎
12:53
|
(212) Ты двигайся постепенно. Для начала возьми мою компоненту попробуй вызвать свои методы. Это и есть обертка над любыми Dll
Разберешься с типам м прочими и ваяй своё. Там есть внутри и комовский ВК, для получения контекста 1С и получения событий. Там все есть для изучения и начала создавать свое. Тебе так или иначе нужно изучать .Net. Главное нАчать, а ты уже неделю все никак начать не можешь. |
|||
214
Serginio1
16.12.20
✎
12:55
|
Смотри исходники. Я старался комментировал
|
|||
215
pavig
16.12.20
✎
12:57
|
(205)
Если что - я весь интерфейс готов взять на себя. Есть наработки и опыт. |
|||
216
Гений 1С
гуру
16.12.20
✎
13:12
|
(215) напиши в личку, например. Обкашляем
|
|||
217
Гений 1С
гуру
16.12.20
✎
13:13
|
(213) это не то, что мне нужно. Я уже нашел шаблон COM-ВК-компоненты на C#, ее и буду полировать. Вон, Ненавижн в (204) пример дал.
|
|||
218
pavig
16.12.20
✎
13:20
|
(216)
отправил на мыло |
|||
219
Ненавижу 1С
гуру
16.12.20
✎
13:40
|
(217) будешь мне 5% от продаж отчислять ))))
|
|||
220
Serginio1
16.12.20
✎
14:10
|
(217) Это не ВК, а объект автоматизации. Не все типы ты можешь передавать напрямую итд.
Смотри файл AddinFor1C.cs и класс public class GlobalContext1C : IInitDone, ILanguageExtender |
|||
221
Кирпич
16.12.20
✎
14:10
|
(217) В (204) не ВК, балда. Там то же самое, что и Serginio1 тебе предлагает сделать, только Serginio1 учит как сделать проще(как ему кажется).
(215) А вот и студент. Смотри не продешеви. |
|||
222
H A D G E H O G s
16.12.20
✎
14:13
|
||||
223
Гений 1С
гуру
16.12.20
✎
14:55
|
Вот в такие моменты я и понимаю, что нужен ROOM, банальные вещи друг другу не можем объяснить.
|
|||
224
Гений 1С
гуру
16.12.20
✎
19:40
|
https://wiki.programstore.ru/c-1c-pishem-prostejshij-com-server-dlya-1s/
1. "Обратите внимание, что в юзинги мы добавили System.Windows.Forms, поэтому необходимо подключить к библиотеке соответствующую ссылку" - У меня нет раздела Ссылки. 2. "Во-первых, на закладке «Построение» надо указать, что наша программа будет зарегистрирована для COM-взаимодействия" - нет такой галочки. 3. "Ну, и последний штрих, идем в AssemblyInfo.cs и вставляем туда вызов AssemblyKeyFile, а ComVisible делаем true" - у меня нет "AssemblyInfo.cs" Вот и доверяй этим интернет-манулам |
|||
225
H A D G E H O G s
16.12.20
✎
19:41
|
(224) Гхаб должен страдать.
|
|||
226
Garykom
гуру
16.12.20
✎
19:45
|
(224) рекомендую вернуться обратно на vb6 ))
|
|||
227
Гений 1С
гуру
16.12.20
✎
19:48
|
Открыл в VC проект этого перца: http://diesel.elcat.kg/index.php?showtopic=2642287
Там есть раздел ссылки, возможно, что-то не так при создании проекта сделал. Посмотрю, гм. |
|||
228
Гений 1С
гуру
16.12.20
✎
19:53
|
гм. Regasm еще надо найти в папке VC, нетуть
|
|||
229
H A D G E H O G s
16.12.20
✎
19:55
|
(227) Проникайся, Сергей, духом инфраструктуры настоящего ЯП.
|
|||
230
Garykom
гуру
16.12.20
✎
19:56
|
(228) учти что regasm на клиентских машинах может быть в разных путях и даже их несколько будет
как ты из 1С штатно будешь свою "ВК" регать? |
|||
231
Garykom
гуру
16.12.20
✎
19:56
|
(230)+ а еще прикольно когда версию .net обновят с удалением старой ))
|
|||
232
H A D G E H O G s
16.12.20
✎
19:57
|
(230) Тру ВК не требуют регистрации, на то они и dll
|
|||
233
Гений 1С
гуру
16.12.20
✎
20:02
|
(232) где взять шаблон тру-вк?
c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe - нашел. (230) переберу все папки NET, найду максимальную. Это решаемый вопрос. |
|||
234
H A D G E H O G s
16.12.20
✎
20:07
|
(233) Небольшой ГуруТест.
|
|||
235
Гений 1С
гуру
16.12.20
✎
20:10
|
ИмяВК="AddIn.ExtTest";
ок=ПодключитьВнешнююКомпоненту(ИмяВК); Сообщить("Результат: " + ОК); СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); Гм, после рег-асма не подключается в обычных формах: Результат: ложь Windows x86 в регистре записи AddIn.ExtTest появились. |
|||
236
Гений 1С
гуру
16.12.20
✎
20:11
|
ЗагрузитьВнешнююКомпоненту("m:\fixin\...\Test1C.dll"); вываливается в исключение. гм.
|
|||
237
Гений 1С
гуру
16.12.20
✎
20:13
|
(229) а чем настоящий он нестоящего отличается?
|
|||
238
H A D G E H O G s
16.12.20
✎
20:16
|
(237) Ну это серьезная среда, где у тебя может проебаться какой-нибудь пакет, или переменная окружения или нужный тебе велосипед с сайта таких же любителей велосипедов будет под старую версию студии.
Тут вам не 1С. |
|||
239
H A D G E H O G s
16.12.20
✎
20:19
|
(236) Давай я тебе дам маленький лайфхак.
Отладчиком Студии !Скорее всего! можно будет подключиться к 1С и отлаживать код наживую. И даже поставить точку останова на точке входа в dll и узнать, че не грузится. Епстественно, если у тебя подгружена таблица отладочных символов. Скорее всего - это потому, что там можно в Дельфе. |
|||
240
Serginio1
16.12.20
✎
20:21
|
Мыши плакали, кололись, но продолжали жрать кактус!.
А у меня то все работает. Надо 2 regasm вызывать. Если бы ты почитал, то у меня даже отдельное приложение есть |
|||
241
H A D G E H O G s
16.12.20
✎
20:21
|
А сделать dll ку независимой от реестра - это всего лишь за 1С создать COM-фабрику, ее экземпляр и пресечь ее обращения в реестр венды. Ведь dll-ка то уже загружена. Делов для Гения на 5 минут.
|
|||
242
Serginio1
16.12.20
✎
20:22
|
РегистрацияКомСервера.exe
|
|||
243
Гений 1С
гуру
16.12.20
✎
20:26
|
(240) не стоит выебываться. Написал CMD (суть была в ключе codebase):
"c:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "%~dp0\Test1C.dll" /codebase pause (241) Прости, не понял о чем ты. Теперь она регистрируется и создает объект: ИмяВК="AddIn.ExtTest"; ок=ПодключитьВнешнююКомпоненту(ИмяВК); Сообщить("Результат: " + ОК); net = Новый (ИмяВК); net.Show("yes"); И даже выводит YES: https://i114.fastpic.ru/big/2020/1216/fe/c4d800eba1c8a2ddaa5002a8ddd07cfe.jpg Ну что ж, не боги горшки обжигают. Вот только не знаю, использовать этот проект как каркас или все же с нуля сделать. Не очень понятно, почему в том, что с нуля сделал, не добавились ссылки и прочая хрень: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard2.0</TargetFramework> <SignAssembly>true</SignAssembly> <AssemblyOriginatorKeyFile>AnvizCCHEX.snk</AssemblyOriginatorKeyFile> </PropertyGroup> </Project> |
|||
244
Гений 1С
гуру
16.12.20
✎
20:28
|
В тестовом то проект пожирнее выглядит:
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="Current"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> <ProductVersion>8.0.50727</ProductVersion> <SchemaVersion>2.0</SchemaVersion> <ProjectGuid>{515F98A0-FDD9-4D1A-9052-732CCAEC75D9}</ProjectGuid> <OutputType>Library</OutputType> <AppDesignerFolder>Properties</AppDesignerFolder> <RootNamespace>Test1C</RootNamespace> <AssemblyName>Test1C</AssemblyName> <FileUpgradeFlags> </FileUpgradeFlags> <UpgradeBackupLocation> </UpgradeBackupLocation> <OldToolsVersion>2.0</OldToolsVersion> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> <DebugSymbols>true</DebugSymbols> <DebugType>full</DebugType> <Optimize>false</Optimize> <OutputPath>bin\Debug\</OutputPath> <DefineConstants>DEBUG;TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> <DebugType>pdbonly</DebugType> <Optimize>true</Optimize> <OutputPath>bin\Release\</OutputPath> <DefineConstants>TRACE</DefineConstants> <ErrorReport>prompt</ErrorReport> <WarningLevel>4</WarningLevel> </PropertyGroup> <ItemGroup> <Reference Include="System" /> <Reference Include="System.Data" /> <Reference Include="System.Drawing" /> <Reference Include="System.Windows.Forms" /> <Reference Include="System.Xml" /> </ItemGroup> <ItemGroup> <Compile Include="Template1CExt.cs" /> <Compile Include="COMError.cs" /> <Compile Include="IAsyncEvent.cs" /> <Compile Include="IErrorLog.cs" /> <Compile Include="IInitDone.cs" /> <Compile Include="ILanguageExtender.cs" /> <Compile Include="IStatusLine.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="V7Data.cs" /> <Compile Include="WinAPI.cs" /> </ItemGroup> <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. <Target Name="BeforeBuild"> </Target> <Target Name="AfterBuild"> </Target> --> </Project> |
|||
245
Гений 1С
гуру
16.12.20
✎
20:29
|
(238) не понял, в чем серьезность. Имхо, это, наборот кривость. KISS
|
|||
246
Гений 1С
гуру
16.12.20
✎
20:30
|
надо еще понять теперь, как подключить dll оборудования в этот проект, чтобы его закомпилить. ;-)
причем там две DLL - под 32 и под 64, бррр... |
|||
247
H A D G E H O G s
16.12.20
✎
20:33
|
(243) "И даже выводит YES"
https://youtu.be/JgaV25qOcVo |
|||
248
Serginio1
16.12.20
✎
20:33
|
(243) Угу хотел тебе помочь, ноо
Для 64 разрядных надо "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" вызывать |
|||
249
Garykom
гуру
16.12.20
✎
20:34
|
(246) Шаблон ВК от 1С на C++ умеет делать https://docs.microsoft.com/ru-ru/cpp/build/loadlibrary-and-afxloadlibrary?view=msvc-160
если слегка допилить И не надо .net с regasm |
|||
250
Serginio1
16.12.20
✎
20:36
|
||||
251
Serginio1
16.12.20
✎
20:38
|
(249) Ну для .Net нужно еще среду подгрузить
https://docs.microsoft.com/ru-ru/dotnet/core/tutorials/netcore-hosting То, что меньше .Net Core у меня реализовано в Ъ |
|||
252
Гений 1С
гуру
16.12.20
✎
20:45
|
(250) Спасибо, но это я уже потом буду ковыряться, если понадобится 64-разрядная вк.
|
|||
253
Гений 1С
гуру
16.12.20
✎
20:46
|
(249) С++ более близка к ASM, чем к BASIC. К тому же у меня есть файл заголовков методов DLL на C#, причем с китайскими иероглифами.
|
|||
254
Гений 1С
гуру
16.12.20
✎
20:47
|
(251) "То, что меньше .Net Core у меня реализовано в Ъ" - это как понять?
|
|||
255
Serginio1
16.12.20
✎
20:50
|
(252) Сейчас как раз в основном то и используют 64 разрядные 1С ибо памяти не хватает.
Там скорее всего внутри твоих библиотек уже реализован доступ к нативным dll. Или ты сам используешь нативные ? (254) Меньше .Net Core 3. Я еще писал для .Net 1.0. |
|||
256
Serginio1
16.12.20
✎
20:52
|
.Net Core 1.0 и застал 1.1
|
|||
257
Гений 1С
гуру
16.12.20
✎
20:55
|
(255) у меня две обычные DLL - одна 32-разряда, другая 64.
|
|||
258
Гений 1С
гуру
16.12.20
✎
21:00
|
ок, на сегодня все.
завтра попробую подрубить в проект 32-разрядную DLL и вызвать метод из DLL. если прокатит, будем считать, что остальное - дело техники. Было бы неплохо, конечно, чтобы один проект работал под 32 и 64, но посмотрим. |
|||
259
Гений 1С
гуру
16.12.20
✎
21:04
|
(248) Кстати, спасибо. зарегил под 64-разрядную платформу как ты написал, работает.
Еще бы с 32-разрядной DLL оборудования работала бы в обоих платформах, цены бы ей не было. ;-) |
|||
260
Serginio1
16.12.20
✎
21:10
|
(259) Ты же говорил, что у тебя .Net библиотеки, или они PInvoke к нативным?
|
|||
261
Гений 1С
гуру
16.12.20
✎
21:13
|
(260) это не NET библиотеки. У меня есть файл заголовка этих библиотек для C#
гм, только теперь не знаю, как в тонком подключить эту библиотеку, так не канает (ведь в файле не ВК, обычная для 1С): ИмяВК="AddIn.ExtTest"; СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); ФайлDLL = "m:\fixin\...\Test1C.dll"; Результат = ПодключитьВнешнююКомпоненту(ФайлDLL, "AddInExtTest", ТипВнешнейКомпоненты.COM); Сообщить("Результат: " + Результат); //Прерываем как только получаем желаемый результат net = Новый ("AddIn.ExtTest" + ".AddInExtTest"); net.Show("yes"); |
|||
262
Serginio1
16.12.20
✎
21:14
|
Ну для 32 разрядных есть DllSurrogate
|
|||
263
Serginio1
16.12.20
✎
21:16
|
(261) Посмотри у меня. Я уже сейчас и не помню но упаковывал в макет
|
|||
264
Гений 1С
гуру
16.12.20
✎
21:31
|
(263) так ты DLL же упаковывал, а это не та DLL, Которую ожидает 1С
|
|||
265
Гений 1С
гуру
16.12.20
✎
21:31
|
гм. с тонким засада. толстый то счас мало юзается, надо побороть.
|
|||
266
Serginio1
16.12.20
✎
21:32
|
У меня есть ТестВКУФ.erf там я dll храню в макете, но потом её распаковываю.
|
|||
267
Serginio1
16.12.20
✎
21:32
|
Но там все тоже
Если ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C") Тогда объект=Новый ("AddIn.GlobalContext1C"); ГлобальныйКонтекст=объект.ГлобальныйКонтекст; AppDispatch=ГлобальныйКонтекст.AppDispatch; AppDispatch.Сообщить("Привет"); Сообщить(AppDispatch.СтатусСообщения.Важное); |
|||
268
Гений 1С
гуру
16.12.20
✎
21:34
|
(267)
ИмяВК="AddIn.ExtTest"; СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); Результат = ПодключитьВнешнююКомпоненту(ИмяВК); Сообщить("Результат: " + Результат); Выдает Ложь, хоть ты тресни. |
|||
269
Гений 1С
гуру
16.12.20
✎
21:35
|
Результат: Нет
Windows x86 |
|||
270
Serginio1
16.12.20
✎
21:36
|
(265) Сейчас уже и не помню
ПодключитьВнешнююКомпоненту(<ИдентификаторОбъекта>) ПодключитьВнешнююКомпоненту(<ИдентификаторОбъекта>) Параметры: <ИдентификаторОбъекта> (обязательный) Тип: Строка. Идентификатор объекта внешнего компонента в виде ProgID (Programmatic Identifier) реестра MS Windows (например: "AddIn.Scanner"). Должно соответствовать информации, находящейся в регистрационной базе данных системы (Registry). Описание варианта метода: Компонент должен быть выполнен по технологии COM и зарегистрирован в реестре MS Windows. Эти компоненты совместимы с компонентами 1С:Предприятия 7.7. Внимание! Вариант метода не работает на сервере и во внешнем соединении. Возвращаемое значение: Тип: Булево. Истина - подключение прошло успешно. Описание: Подключает внешний компонент к 1С:Предприятию. Внешние компоненты могут храниться в информационной базе или макетах конфигурации в виде ZIP-архива или в виде двоичных данных, а также в файле файловой системы. При работе на тонком клиенте и веб-клиенте компонент должен быть предварительно установлен. Доступность: Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер). |
|||
271
Гений 1С
гуру
16.12.20
✎
21:37
|
(270) да я вот помню, уже бился с тонким, в итоге так подключил:
#Если ТонкийКлиент Тогда Результат = ПодключитьВнешнююКомпоненту(ФайлDLL, "AddInAnvizUBIO", ТипВнешнейКомпоненты.COM); //Прерываем как только получаем желаемый результат Возврат Новый ("AddIn.AddInAnvizUBIO.AddInAnvizUBIO"); #Иначе Но там была нормальная DLL, а не NET C# |
|||
272
Serginio1
16.12.20
✎
21:40
|
Попробуй для начала Новый COMОбъект(ИмяВК);
|
|||
273
Гений 1С
гуру
16.12.20
✎
21:47
|
(272)
ИмяВК="AddIn.ExtTest"; net = Новый COMОбъект(ИмяВК); Сообщить(net); СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); net.Show("yes"); Windows x86 Метод объекта не обнаружен (Show) {(6)}:net.Show("yes"); {ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(13)}: Выполнить(ТекстДляВыполнения); COMОбъект |
|||
274
Гений 1С
гуру
16.12.20
✎
21:48
|
это какой-то не тот ком-обьект
|
|||
275
Serginio1
16.12.20
✎
22:20
|
Ну правильно нет. Ты же через ILanguageExtender вызываешь.
Добавь метод Show и он будет виден Я к тому, что сначала загрузи как Ком объект а затем вызови COMОбъект(ИмяВК); а затем Результат = ПодключитьВнешнююКомпоненту(ИмяВК); |
|||
276
Гений 1С
гуру
16.12.20
✎
23:11
|
(275) так не пашет:
ИмяВК="AddIn.ExtTest"; об = Новый COMОбъект(ИмяВК); Сообщить(об); СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); net = Новый (ИмяВК); Сообщить(net); net.Show("yes"); Windows x86 Тип не определен (AddIn.ExtTest) {(6)}:net = Новый (ИмяВК); {ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(13)}: Выполнить(ТекстДляВыполнения); COMОбъект |
|||
277
Гений 1С
гуру
16.12.20
✎
23:12
|
(275) И так тоже нет:
ИмяВК="AddIn.ExtTest"; об = Новый COMОбъект(ИмяВК); Сообщить(об); СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); ок=ПодключитьВнешнююКомпоненту(ИмяВК); Сообщить("Результат: " + ОК); net = Новый (ИмяВК); Сообщить(net); net.Show("yes"); Windows x86 Результат: Нет Тип не определен (AddIn.ExtTest) {(8)}:net = Новый (ИмяВК); {ВнешняяОбработка.КонсольКода.Форма.Форма.Форма(13)}: Выполнить(ТекстДляВыполнения); COMОбъект |
|||
278
H A D G E H O G s
16.12.20
✎
23:24
|
Ты хотя бы убедился, что dllки драйвера имеют экспортные функции?
|
|||
279
H A D G E H O G s
16.12.20
✎
23:25
|
А C# умеет в указатели?
|
|||
280
H A D G E H O G s
16.12.20
✎
23:29
|
Будет забавно, если dll ка потребует какую нибудь структурку на вход.
|
|||
281
Кирпич
16.12.20
✎
23:32
|
У меня есть этот SDK
Там нативная DLL и заголовочный файл С++ (я его даже в pascal перевел для интересу) есть там еще файл C# с биндингами к этой DLL и примеры на C#, как юзать эту DLL есть еще docx с описанием функций |
|||
282
Кирпич
16.12.20
✎
23:33
|
на китайском. запускать всё это страшно :)
|
|||
283
H A D G E H O G s
16.12.20
✎
23:34
|
(281) Вот бы кто перевел в pascal йобу для МобильногоКлиента
|
|||
284
Кирпич
16.12.20
✎
23:34
|
шо такое йоба?
|
|||
285
H A D G E H O G s
16.12.20
✎
23:38
|
(284) Нечто хтоническое, за гранью гуманоидного восприятия мира, созданное выходцами из темных миров Ктулху. Вендиго, от мира ПО, пожирателей лосятины.
Как пример http://catalog.mista.ru/1c/articles/987286/ Раздел 2 |
|||
286
Кирпич
17.12.20
✎
00:10
|
и правда лосятина какая то. а есть смысл на 1с лепить мобильное? мне даже в голову такое не приходило
|
|||
287
H A D G E H O G s
17.12.20
✎
00:18
|
(286) Это ВКшка для Android (МобКлиент и МобПриложение).
Ну да, нужно, если хотишь получать ВнешнееСобытие() в Ведроиде. Раньше был Google Clouds Message, который можно было сэмулировать внутри Ведроида, вне сервера Гугл, а потом 1С перешла на Fireclouds Message и там уже без Google сервера никак. А в нем задержки по несколько секунд. Поэтому никаких push, только хардрок через ВК |
|||
288
H A D G E H O G s
17.12.20
✎
00:19
|
(286) Я эту лосятину осилил и сконвертил в Android Studio и даже смог подключить отладчик и даже почти чето понял. Но вот именно "почти". В родной Дельфишечке было бы уютнее.
|
|||
289
Garykom
гуру
17.12.20
✎
08:34
|
(283) А поступить как я сделал?
Одна на C++ коммуникационная ВК мобильная и внешняя часть на чем угодно в т.ч. паскаль |
|||
290
Гений 1С
гуру
17.12.20
✎
09:07
|
(278) что такое экспортные функции в твоем понимании?
|
|||
291
Гений 1С
гуру
17.12.20
✎
09:10
|
Гм, если не получится побороть тонкого, придется на CPP писать.
|
|||
292
acht
17.12.20
✎
09:24
|
Обсуждение событий будущего времени, это так трогательно...
|
|||
293
Serginio1
17.12.20
✎
09:38
|
(279) Конечно умеет. Есть указатели IntPtr
Вот пример вызова виртуального метода C++ https://ru.stackoverflow.com/questions/589886/%d0%9a%d0%b0%d0%ba-%d0%bf%d0%be%d0%b4%d1%80%d1%83%d0%b6%d0%b8%d1%82%d1%8c-c-%d0%b8-c-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-com-%d0%bd%d0%b0%d0%b8%d0%b1%d0%be%d0%bb%d0%b5%d0%b5-%d0%bf%d1%80%d0%be%d1%81%d1%82%d1%8b%d0%bc-%d1%81%d0%bf%d0%be%d1%81%d0%be%d0%b1%d0%be%d0%bc/592713#592713 В моем Ъ используются для обратных вызовов и выделения памяти |
|||
294
Serginio1
17.12.20
✎
09:49
|
(277) Код случайно не на сервере выполняется?
|
|||
295
Гений 1С
гуру
17.12.20
✎
09:52
|
(294) не, файловая база. дома тестирую жи. из DLL тоже не грузит. ну наверно 1с умеет грузить из ДЛЛ только то, что под regsvr32 заточено, а не под regasm
|
|||
296
Гений 1С
гуру
17.12.20
✎
09:53
|
короче, если по ТК идей не будет, не буду изобретать велосипед и напишу на C++, по образцу 1с. так более технологично будт
|
|||
297
Кирпич
17.12.20
✎
09:55
|
(296) Ну вот. Плавно приближаемся к (23)
|
|||
298
Garykom
гуру
17.12.20
✎
10:06
|
(297) А потом удивляются а что это ваша платная биометрия работает как студенческая поделка?
|
|||
299
Garykom
гуру
17.12.20
✎
10:07
|
(295) 1С умеет грузить все что правильно написано. И правильно грузят в нужном месте и правльное.
|
|||
300
Garykom
гуру
17.12.20
✎
10:08
|
300
|
|||
301
Serginio1
17.12.20
✎
10:19
|
(295) А зачем тебе вообще ВК если ты события не используешь?
Взял бы мою компоненту и не парился. Там кстати есть поддержка событий на уровне Подключить Обработчик. Посмотрел бы подключается ли моя ВК |
|||
302
Serginio1
17.12.20
✎
10:33
|
(301) Ну а так если .Net это просто обертка над нативными библиотеками, то проще нанять студента и оформить это на C++
|
|||
303
Гений 1С
гуру
17.12.20
✎
10:38
|
(301) мне нужна совместимость с прошлой ВК на уровне названия методов.
|
|||
304
Гений 1С
гуру
17.12.20
✎
10:38
|
(299) прости, но 0 бит
|
|||
305
Гений 1С
гуру
17.12.20
✎
10:39
|
(299) 3 раза "правильное" повторил. Это реклама 1С? ггг
|
|||
306
Garykom
гуру
17.12.20
✎
10:40
|
(302) >нанять студента
Да где вы этих студентов берете и чтобы оно работало без глюков? |
|||
307
Garykom
гуру
17.12.20
✎
10:41
|
(305) Это попытка намекнуть что проблема не в 1С а в кривых руках ))
|
|||
308
Garykom
гуру
17.12.20
✎
10:42
|
(306)+ Без глюков на всех версиях платформы 1С и видов клиентов и на сервере.
|
|||
309
Кирпич
17.12.20
✎
11:01
|
(306) на фриланс ру или на мисте
|
|||
310
Garykom
гуру
17.12.20
✎
11:02
|
(309) И много тут программистов C++ ?
|
|||
311
Кирпич
17.12.20
✎
11:07
|
(310) Навалом
|
|||
312
Кирпич
17.12.20
✎
11:07
|
(310) Ты, например.
|
|||
313
Гений 1С
гуру
17.12.20
✎
11:12
|
(307) не исключено. Но т.к. причина кривизны не разъясняется, то 0 бит.
|
|||
314
Serginio1
17.12.20
✎
11:15
|
(0) Не знаю, что у тебя не получается. Сейчас не поленился и попробовал ТестВКУФ.erf в тонком клиенте. Всё работает!
|
|||
315
Гений 1С
гуру
17.12.20
✎
11:19
|
(314) код скинь подключения, гляну, саму DLL на [email protected]
|
|||
316
Гений 1С
гуру
17.12.20
✎
11:22
|
Моя DLL тут: https://yadi.sk/d/q0I1yAddY4tU6Q
|
|||
317
Serginio1
17.12.20
✎
11:27
|
Я же тебе ссылки все давал.
https://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802 Там есть Исходники и DLL можно скачать здесь http://files.rsdn.org/19608/%d0%a4%d0%b0%d0%b9%d0%bb%d1%8bNetObjectToIDispatch.zip Соответственно код ВК находится в ...\ФайлыNetObjectToIDispatch\NetObjetToIDispatch45\NetObjetToIDispatch45\AddinFor1C.cs Сама Dll "D:\Programms\ФайлыNetObjectToIDispatch\DLLNetObjetToIDispatch45\NetObjetToIDispatch45.dll" Код вызываемой библиотеки в папке ФайлыNetObjectToIDispatch\ТестВК\ Ну и внешний отчет ..ФайлыNetObjectToIDispatch\ВнешниеОтчеты\ТестВКУФ.erf В макете уже лежит ТестВК.Dll |
|||
318
Garykom
гуру
17.12.20
✎
11:27
|
(312) Из меня программист С++ в лучшем случае на уровне джун++
|
|||
319
Кирпич
17.12.20
✎
11:57
|
(318) Да пойдет. Шо такое указатель понимаешь и хватит.
|
|||
320
Кирпич
17.12.20
✎
12:01
|
(313) Если тебе по рукам в детстве мопед не проехал, то причина кривизны генетическая. Чо тут объяснять.
|
|||
321
acht
17.12.20
✎
12:06
|
(313) Геня, ты со своим "0 бит" тааакой клёёёвый, жаль что не умешь ничего.
|
|||
322
Garykom
гуру
17.12.20
✎
12:14
|
(313) Сенкс за идею.
Теперь я знаю как назвать франч если вдруг захочу его открыть: "Нулевой Бит" |
|||
323
Aswed
17.12.20
✎
12:17
|
Капец. Гений ты до сих пор ещё что то можешь писать!? Офигеть просто!
Я думал что ты давно уже подхватил какой нить трипер и скопытнулся от него)))))) |
|||
324
Garykom
гуру
17.12.20
✎
12:17
|
(322)+
Стоит взвод молодых бойцов. Старшина: - По порядку номеров рассчитайсь! Солдат-программист: - Можно вопрос? - Можно... - А в какой системе? Десятичной? Шестнадцатеричной? - Для дураков объясняю, в десятичной! - Понял! Нулевой! |
|||
325
Кирпич
17.12.20
✎
12:18
|
(321) Щас его Serginio1 научит делать ВК через жопу. В 2000 году наш гений забыл С++, а в 2020 году он вспомнит C#
|
|||
326
Ненавижу 1С
гуру
17.12.20
✎
12:21
|
(319) указатели в С были еще, тут как минимум надо знать про ссылки
|
|||
327
Serginio1
17.12.20
✎
12:22
|
(325) Ну он хоть старается "Вспомнить Всё". Через жопу или нет, но использовать код в 1С это оочень легко.
Намного проще чем писать ВК на С++ и прочее. |
|||
328
Кирпич
17.12.20
✎
12:26
|
(327) Я не знаю легко там или нет, но без твоей помощи оно, по моему, ни у кого не получается
|
|||
329
Гений 1С
гуру
17.12.20
✎
12:26
|
(325) по прежнему 0 бит.
(317) а, ты про свою компоненту, а как ее протестить, есть какой-нибудь метод типа Show или About? Мне нужно просто проверить как ее в ТК зарегить? |
|||
330
Гений 1С
гуру
17.12.20
✎
12:27
|
(327) мне кажется этот подход не технологичным, прости. Хотя может и ошибочно. Но использовать ВК-прокладку, чтобы юзать методы другой DLL, бррр
|
|||
331
Гений 1С
гуру
17.12.20
✎
12:28
|
(322) А Первый Бит не предъявит? Лучше "Нулевой Байт" или даже "Нулевой Терабайт"
|
|||
332
acht
17.12.20
✎
12:28
|
(323) > трипер
https://medconfer.com/node/5276 |
|||
333
Serginio1
17.12.20
✎
12:28
|
(328) Потому, что без знания .Net тяжело сразу писать. Нужно хотя бы книжки почитать.
А так тот, кто знаком с .Net все достаточнно просто |
|||
334
Гений 1С
гуру
17.12.20
✎
12:30
|
(333) я вот подумал, что клиенту это .NET не вперлось. Лучше на чистом C++ написать и не париться о regasm и прочих бубнах с танцем. Этим и займусь, пожалуй
|
|||
335
Кирпич
17.12.20
✎
12:31
|
(333) Гений не читает книжек. Он копипастит и проверяет работает или нет. Если происходит зависание компьютера, то перезагрузка и заново.
|
|||
336
Garykom
гуру
17.12.20
✎
12:32
|
(330) >использовать ВК-прокладку, чтобы юзать методы другой DLL, бррр
Ты еще не понял что тебе придется тащить с собой tc-b_new_sdk.dll и юзать из своей ВК на чем угодно? |
|||
337
Гений 1С
гуру
17.12.20
✎
12:32
|
(335) Чтобы сразу исключить кривотолки, спрошу напрямую - Кирпич, какое у тебя место на инфостарте? ;-)
|
|||
338
Гений 1С
гуру
17.12.20
✎
12:32
|
(336) это не критично, я и раньшее ее тащил
|
|||
339
Кирпич
17.12.20
✎
12:33
|
(334) " клиенту это .NET не вперлось" Нифига себе! Да там же linq!
|
|||
340
Garykom
гуру
17.12.20
✎
12:33
|
(335) А как он успевает?
|
|||
341
Serginio1
17.12.20
✎
12:34
|
(329) Ну не читатель ты. Ты смотрел код?
AddinFor1C.cs [ComVisible(true)] [ProgId("AddIn.GlobalContext1C")] [Guid("8693BBEC-C964-4478-AFCB-E8D15FD8F4F6")] public class GlobalContext1C : IInitDone, ILanguageExtender Она нужна для получения Контекста 1С. И вызывается одно свойство public void FindProp([MarshalAs(UnmanagedType.BStr)] String propName, ref Int32 propNum) { if (propName.Trim().ToUpper() == "ГЛОБАЛЬНЫЙКОНТЕКСТ") { propNum = 0; return; } throw new COMException(String.Format("Свойство {0} не поддерживается", propName)); } public void GetPropVal( Int32 propNum, [MarshalAs(UnmanagedType.Struct)] ref object propVal) { if (propNum == 0) propVal = глобальныйКонтекст; } Можешь также и использвать её и у себя. Передавать этот кнтекст в свой объект а с ним работать как IDispatch объектом. Либо прописывать всю хрень в void GetNMethods(ref int plMethods); void FindMethod(string bstrMethodName, ref int plMethodNum); void GetMethodName(int lMethodNum, int lMethodAlias, ref string pbstrMethodName); void GetNParams(int lMethodNum, ref int plParams); void GetParamDefValue(int lMethodNum, int lParamNum, ref object pvarParamDefValue); void HasRetVal(int lMethodNum, ref bool pboolRetValue); void CallAsProc(int lMethodNum, [MarshalAs(UnmanagedType.SafeArray)] ref Array paParams); void CallAsFunc(int lMethodNum, ref object pvarRetValue, [MarshalAs(UnmanagedType.SafeArray)] ref Array paParam); |
|||
342
Serginio1
17.12.20
✎
12:35
|
(334) Согласен пиши!!!
|
|||
343
Гений 1С
гуру
17.12.20
✎
12:35
|
(341) прости, а как это поможет регистрации ВК в тонком?
|
|||
344
Гений 1С
гуру
17.12.20
✎
12:36
|
(341) Да, мне проще прописывать в GetNMethods
|
|||
345
Кирпич
17.12.20
✎
12:36
|
(337) А как мое место на инфостарте влияет на мои способности?
|
|||
346
Serginio1
17.12.20
✎
12:36
|
(334)то есть раньше regsvr32 тебя не напрягало?
|
|||
347
Гений 1С
гуру
17.12.20
✎
12:36
|
(345) на способности "пиздеть" никак, продолжай в том же духе, просто твой белый шум несколько однообразен, в качестве обратной связи
|
|||
348
Serginio1
17.12.20
✎
12:37
|
(343) Ты запускал ТестВКУФ.erf в тонком? Там как раз для достука к контексту 1С используется ВК
|
|||
349
Гений 1С
гуру
17.12.20
✎
12:37
|
(346) ну я хотя бы победил регистрацию таких компонент в тонком в свое время. ;-) а тут еще надо искать номер последней сборки, regsvr32 он то оидн
|
|||
350
Гений 1С
гуру
17.12.20
✎
12:38
|
(348) погоди, как 1С регистрирует ВК в тонком?
|
|||
351
Ненавижу 1С
гуру
17.12.20
✎
12:38
|
(334) не осилил, понятно
|
|||
352
Кирпич
17.12.20
✎
12:39
|
(347) Ну так ты не обращай внимание на мой белый шум
|
|||
353
Serginio1
17.12.20
✎
12:39
|
(337) А как это место можно посмотреть?
(350) Все так же через regasm |
|||
354
Garykom
гуру
17.12.20
✎
12:40
|
(342) нафига если можно взять https://github.com/jtisler/anviz и прямо из 1С http запросами?
Но там в протоколе их придется разобраться |
|||
355
Гений 1С
гуру
17.12.20
✎
12:40
|
(352) ок, договорились.
(351) может оно и не надо (353) http://catalog.mista.ru/top100/user/index.php?period=ALL&sort=rate Только этих regasm много, возникают нюансы с версиями сборок, ну его в сад, этот #NET |
|||
356
Кирпич
17.12.20
✎
12:41
|
(354) Кому разбираться то
|
|||
357
Garykom
гуру
17.12.20
✎
12:41
|
(355) "не шмогла"
|
|||
358
Гений 1С
гуру
17.12.20
✎
12:41
|
(354) у Anviz нет открытого HTTP-API, хотя это конечно, странно, но мы имеем таких китайцев, а не других
|
|||
359
Serginio1
17.12.20
✎
12:43
|
Кстати
COM+-компонент для 1С на C# http://rsdn.org/article/dotnet/cs1c.xml И можешь вызывать хоть из 32 или 64 разрядных 1С |
|||
360
Гений 1С
гуру
17.12.20
✎
12:43
|
(359) попробуй ее на ТК зарегить ради интереса, мне лень.
|
|||
361
Serginio1
17.12.20
✎
12:45
|
http://rsdn.org/forum/src/751285.flat#751285
(360) У меня куча дел, а я здесь помогаю. Все ухожу |
|||
362
Serginio1
17.12.20
✎
12:45
|
(360) Ты бы хоть, что то попробовал, что я даю. У меня то работает.
|
|||
363
acht
17.12.20
✎
12:47
|
(360) > мне лень
0 бит |
|||
364
Ненавижу 1С
гуру
17.12.20
✎
12:48
|
А на Си++ в каком компиляторе и IDE будешь делать?
|
|||
365
Гений 1С
гуру
17.12.20
✎
12:48
|
Кстати по Native API:
Типы VTYPE_INTERFACE, VTYPE_VARIANT не поддерживаются Я правильно понимаю, что массив COMSAFEARRAY в NATIVE тоже не поддерживатеся? или поддерживается? |
|||
366
Гений 1С
гуру
17.12.20
✎
12:48
|
(364) на VC, раз скачал
|
|||
367
Кирпич
17.12.20
✎
12:50
|
(365) Очень правильно понимаешь. Переходи к пункту (33) или дай денег Garykom и он всё устроит
|
|||
368
Кирпич
17.12.20
✎
12:51
|
ой (23)
|
|||
369
Гений 1С
гуру
17.12.20
✎
12:51
|
(367) Хотя вот это внушает надежду, что передаваемые из 1С значения поддерживаются: "Возвращаемые значения типа VTYPE_ARRAY и VTYPE_BYREF не поддерживаются."
|
|||
370
CODA
17.12.20
✎
12:51
|
Тот случай, когда по названию топика узнал афтора.
|
|||
371
Garykom
гуру
17.12.20
✎
12:52
|
(367) Не уверен что у него денег хватит
Мне как то влом в https://github.com/jtisler/anviz/blob/master/Docs/CommsProtocol.pdf разбираться |
|||
372
Кирпич
17.12.20
✎
12:52
|
Компонента может возвращать любые двоичные данные, например – сформированное изображение штрих-кода. Для этого данные помещаются в поле pstrVal структуры tVariant, в strLen – размер данных, а тип устанавливается в VTYPE_BLOB. "1С:Предприятие" использует для них тип ДвоичныеДанные.
|
|||
373
Кирпич
17.12.20
✎
12:54
|
(371) Да там 10 функций скопипастить из примера
|
|||
374
Кирпич
17.12.20
✎
12:54
|
Я бы за десятку сделал бы
|
|||
375
Garykom
гуру
17.12.20
✎
12:58
|
(373) я не уверен можно ли с замками делать то что он хочет
|
|||
376
Гений 1С
гуру
17.12.20
✎
12:59
|
(374) то "Денег не хватит", то "За десятку". ;-) не думаю, что имеет смысл делегировать, мне еще с этой ВК придется долго жить, лучше самому.
|
|||
377
Гений 1С
гуру
17.12.20
✎
12:59
|
(375) ну на Бейсик Зольдатен я то делал. ;-)
|
|||
378
Гений 1С
гуру
17.12.20
✎
13:27
|
ГМ, в VC пример не открывается:
Невозможно найти средства сборки для v120_xp. Установите v120_xp, чтобы выполнить сборку с использованием средств сборки v120_xp. https://askdev.ru/q/ne-udaetsya-nayti-instrumenty-sborki-dlya-v120-platform-toolset-v120-23106/ |
|||
379
Serginio1
17.12.20
✎
13:29
|
(355) Пиши под .Net Standard 2 или .Net Framework 4.6.1 и проблем не будет.
Создай батничек и регистрируй "C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe" "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\RegAsm.exe" Проблем нет. Но пиши лучше на С++ |
|||
380
Гений 1С
гуру
17.12.20
✎
13:37
|
(379) так в тонком не регится
|
|||
381
Serginio1
17.12.20
✎
13:42
|
(380) Ну у меня то работает. Я не знаю почему у тебя не работает. Ты так мой пример и не попробовал.
|
|||
382
Serginio1
17.12.20
✎
13:43
|
Запусти РегистрацияКомСервера.exe от администратора
|
|||
383
Кирпич
17.12.20
✎
13:49
|
(378) Срочно переходи на C#
|
|||
384
Кирпич
17.12.20
✎
13:50
|
+(378)Пока оно не начало опухать
|
|||
385
H A D G E H O G s
17.12.20
✎
13:51
|
(378) Бггггг
вы используете Visual C++ 2012, который является v110. v120 означает Visual C++ 2013. таким образом, либо изменить параметры проекта для использования toolset v110, либо установить Visual Studio 2013 на этом компьютере и использовать VS2013 для его компиляции. |
|||
386
Гений 1С
гуру
17.12.20
✎
13:51
|
(382) РегистрацияКомСервера.exe - это что за утилита?
|
|||
387
H A D G E H O G s
17.12.20
✎
13:51
|
Бгагага
Суко, до слёз. |
|||
388
H A D G E H O G s
17.12.20
✎
13:52
|
Суровые трушные ЯПы поют Сергею солдатский гранж
https://youtu.be/ATdaQv1qcP0 |
|||
389
Serginio1
17.12.20
✎
13:58
|
(386) Ты хоть скачал http://files.rsdn.org/19608/%d0%a4%d0%b0%d0%b9%d0%bb%d1%8bNetObjectToIDispatch.zip
Пойми ты даже если не хочешь её использовать, там куча примеров. Та же ВК итд За чем я тут распинаюсь? |
|||
390
Гений 1С
гуру
17.12.20
✎
14:01
|
(389) скачал и чем это мне поможет, если я решил на Си++ перейти?
|
|||
391
H A D G E H O G s
17.12.20
✎
14:01
|
(389) Я не знаю, зачем? Я вообще с вас чешуею, носитесь с какими то сборками, regasm-ами.
Открыл Delphi, добавил в проект новое описание метода и пиши. Если есть какая-то отдельная подсистема - добавил новый объект, в него накидал методов и пиши. |
|||
392
Кирпич
17.12.20
✎
14:02
|
(389) Да подожди ты. Твои ссылки с первого раза в адресной строке невозможно правильно набить. Какую нибудь букву пропустишь и заново набирай
|
|||
393
Гений 1С
гуру
17.12.20
✎
14:02
|
(389) я запустил регистрацию ком-сервера для своей компоненты, но в ТК все равно после этого не регистрируется:
ИмяВК="AddIn.ExtTest"; об = Новый COMОбъект(ИмяВК); Сообщить(об); СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); ок=ПодключитьВнешнююКомпоненту(ИмяВК); Сообщить("Результат: " + ОК); net = Новый (ИмяВК); Сообщить(net); net.Show("yes"); |
|||
394
Кирпич
17.12.20
✎
14:02
|
(391) А как же linq?
|
|||
395
H A D G E H O G s
17.12.20
✎
14:03
|
(394) Я не знаю, что это
|
|||
396
Гений 1С
гуру
17.12.20
✎
14:03
|
(391) Delphi - это ж голимый Паскаль? Или туда уже Си добавили?
|
|||
397
H A D G E H O G s
17.12.20
✎
14:04
|
(396) Голимейший.
|
|||
398
H A D G E H O G s
17.12.20
✎
14:04
|
Походу заяц несудьбы написать Сергею ВК
https://youtu.be/jtNT_NBoXWw |
|||
399
Кирпич
17.12.20
✎
14:05
|
(391) Delphi умер. Ты программируешь на мёртвом. Это отвратительно. И linq нет.
|
|||
400
Кирпич
17.12.20
✎
14:05
|
(398) картинка хорошая. на майку
|
|||
401
H A D G E H O G s
17.12.20
✎
14:06
|
(399) Да мне фиолтетово, кто там умер, пока есть новые выпуски.
|
|||
402
Гений 1С
гуру
17.12.20
✎
14:06
|
(398) А не спешите вы нас хоронить. Не ссы, прорвемся. Пока я еще не столкнулся даже с вопросами ВК, если надо пересоберем заново в VC
|
|||
403
H A D G E H O G s
17.12.20
✎
14:07
|
(402) Ты проверил наличие экспортных функций у твоих dll? Вдруг там через закрытую интерфейсную таблицу, прям как в 1С 8.x :-)
|
|||
404
Кирпич
17.12.20
✎
14:08
|
(403) Я проверил. Всё там есть.
|
|||
405
H A D G E H O G s
17.12.20
✎
14:08
|
||||
406
Кирпич
17.12.20
✎
14:10
|
(401) Так там за новые выпуски платить надо
|
|||
407
Кирпич
17.12.20
✎
14:11
|
(405) Ты его до слёз доведешь
|
|||
408
H A D G E H O G s
17.12.20
✎
14:19
|
(406) Ой, всё.
|
|||
409
Кирпич
17.12.20
✎
14:19
|
Надо прекращать этот балаган. Этого добра полный интернет и за сущие копейки
https://www.time-control.ru/kak-kupit/price/ |
|||
410
H A D G E H O G s
17.12.20
✎
14:20
|
(409) Миссклик?
|
|||
411
Кирпич
17.12.20
✎
14:21
|
(408) Ну а зачем платить за мёртвое. Оно же умерло.
|
|||
412
Кирпич
17.12.20
✎
14:21
|
(410) Я не понимай
|
|||
413
H A D G E H O G s
17.12.20
✎
14:24
|
(411) Чтобы быстро и без проблем сделать под себя то, что тебе нужно. На человечьем языке. Без сахара и хуерги по-типу лосиного кода, который я тебе вчера показывал.
|
|||
414
H A D G E H O G s
17.12.20
✎
14:24
|
(412) Ошибся темой? Не понял, зачем тут эта ссылка в (409)
|
|||
415
Кирпич
17.12.20
✎
14:28
|
(414) Ну там типа есть Anviz и 1c. И почти у каждой конторы, где продают Anviz, есть матня для 1С
https://www.time-control.ru/vozmojnosti/biometricheskie-sistemy/integratsiya-s-1s/ |
|||
416
Кирпич
17.12.20
✎
14:30
|
Но гений решил, что у него эксклюзив какой то. Оно может быть эксклюзивом только потому что на бейсике и глючит. А в остальном как у всех.
|
|||
417
H A D G E H O G s
17.12.20
✎
14:32
|
(415) Аа. Да не, пусть Сергей вдохнет взрослый мир всеми отверстиями.
|
|||
418
Кирпич
17.12.20
✎
14:35
|
(413) Ну это у кого как мозги устроены. Кому то хуерга кажется красивой, а экран должен быть черныйт с белыми буквами и без мышки. И слезы брызгают от восторга, когда на черном экране появляются вдруг красные буквы.
|
|||
419
Garykom
гуру
17.12.20
✎
14:38
|
(418) Это все фигня пока экран двумерный как и интерфейсы на нем.
В планах же трехмерность аля дополненная или VR и тут уже красные буквы ни о чем )) Когда то были перфокарты и после них да монохромный мелкий экранчик хотя бы текстовый был супер. Потом появились графические пиксельные (кстати всерьез рассматривали векторные) и курсор мышки. |
|||
420
Serginio1
17.12.20
✎
14:41
|
(393) Но мою ВК ты упорно смотреть не хочешь. При этом она работает!
|
|||
421
Garykom
гуру
17.12.20
✎
14:46
|
(420) покажи пример как через твою ВК загрузить стороннюю DLL и вызвать оттуда метод
|
|||
422
Гений 1С
гуру
17.12.20
✎
14:50
|
(415) Шта? По второму кругу пошли? Я же писал, чего в типовых не хватает.
|
|||
423
Гений 1С
гуру
17.12.20
✎
14:51
|
(420) я хочу, чтобы моя работала. И если она не работает под тонкого клиента, увы, при всей красоте - в топку.
|
|||
424
Гений 1С
гуру
17.12.20
✎
14:52
|
(417) Это не повод для гордости, а показатель кризиса IT, что 1С выложила пример, который не компилируется в VC, а VC внятно не может написать, почему не может переварить сборку и нужно много плясок с галочками при установке этой же VC, чтобы скомпилировать простую DLL. Я в итоге разберусь, но сам факт бардака в индустрии налицо
|
|||
425
Serginio1
17.12.20
✎
14:54
|
(424) Угу посмотреть работающий вариант и сравнить с неработающим это не путь Гения!
Зарекся ведь заходить в эту ветку. |
|||
426
Garykom
гуру
17.12.20
✎
14:55
|
(424) Не тупи и возьми VS2010 на WinXP и все у тебя в примере от 1С скомпилится ))
|
|||
427
Гений 1С
гуру
17.12.20
✎
14:56
|
(425) да проблема не в этом, я подумал, что все же NET - это лишний гимор, тем более раз 1С не размещает его в своих примерах. Не хочу свою красивую ВК писать на этом Говнище
|
|||
428
Serginio1
17.12.20
✎
14:56
|
(420) https://ru.stackoverflow.com/questions/527763/%d0%9a%d0%b0%d0%ba-%d0%b2%d1%8b%d0%b7%d0%b2%d0%b0%d1%82%d1%8c-%d0%bc%d0%b5%d1%82%d0%be%d0%b4-%d0%b8%d0%b7-c-%d0%b2-1%d0%a1/527802#527802
Получение контекста 1С и передача его в объект |
|||
429
Garykom
гуру
17.12.20
✎
14:56
|
(426)+ Заодно открой для себя виртуалки, а то если каждую студию ставить то комп загаживается быстро
|
|||
430
Гений 1С
гуру
17.12.20
✎
14:57
|
(426) так, только что ушел от языка VB 2010 года и ты мне предлагаешь опять язык 2010 Года? ;-) нет уж, увольтес
|
|||
431
Кирпич
17.12.20
✎
14:57
|
(425) Телепатический искусственный интеллект скоро научится расставлять автоматически все галочки, о которые тебе понадобятся. Подожди немного.
|
|||
432
Garykom
гуру
17.12.20
✎
14:57
|
(428) Да не нужен ему никакой контекст, ему пример (421) покажи через NetObjectToIDispatch45
|
|||
433
Гений 1С
гуру
17.12.20
✎
14:57
|
(429) может более легкий компилер есть из списка? Мне визуальные рюшечки не нужны:
Microsoft Visual C++, Delphi, C++ Builder, Xcode, Eclipse, gcc, CMake. |
|||
434
Serginio1
17.12.20
✎
14:58
|
http://catalog.mista.ru/1c/articles/457898/
врап=новыйCOMОбъект("NetObjectToIDispatch45"); Попытка //Проверим зарегистрирована ли нужная версия NetObjectToIDispatch45 тест=НовыйCOMОбъект("AddIn.GlobalContext1C"); тест=Неопределено; Исключение ФайлNetObjetToIDispatch45=ЗаписатьМакет("NetObjectToIDispatch","NetObjetToIDispatch45"); ЗарегистрироватьDLL(ФайлNetObjetToIDispatch45); КонецПопытки; ФайлТестВК=ЗаписатьМакет("ТестВК"); Если ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C") Тогда объект=Новый ("AddIn.GlobalContext1C"); ГлобальныйКонтекст=объект.ГлобальныйКонтекст; AppDispatch=ГлобальныйКонтекст.AppDispatch; AppDispatch.Сообщить("Привет"); Сообщить(AppDispatch.СтатусСообщения.Важное); иначе сообщить("Компонента не загружена"); КонецЕсли; Сам глобальный контекст получаем из InitDone public void Init([MarshalAs(UnmanagedType.IDispatch)] object connection) { глобальныйКонтекст = connection; Marshal.GetIUnknownForObject(глобальныйКонтекст); } |
|||
435
Garykom
гуру
17.12.20
✎
14:58
|
(433) Под винду только MS Visual Studio, вот под линукс или мак можно gcc
|
|||
436
Serginio1
17.12.20
✎
14:59
|
(432) Он хочет свою старую ВК переделать. Это его путь
|
|||
437
Гений 1С
гуру
17.12.20
✎
14:59
|
(436) потому что старая умеет то, что не умеют новые модные, дорогие и блестящие. ;-)
|
|||
438
Гений 1С
гуру
17.12.20
✎
15:00
|
(435) шта, а CMAKE?
|
|||
439
Кирпич
17.12.20
✎
15:00
|
(433) CMake самый лучший компилятор. Качай его срочно
|
|||
440
Garykom
гуру
17.12.20
✎
15:00
|
(439) ыыы
|
|||
441
Serginio1
17.12.20
✎
15:01
|
(432) Я ему все показывал. Он просто игнорирует и идет своим путем. Его путь это С++ и нативная ВК, которая поддерживать только примитивные типы, строки и массив байтов
Ъ не зря же придуман |
|||
442
Garykom
гуру
17.12.20
✎
15:02
|
(439) но да согласен что cmake можно и под вин юзать )) но MSVC один фиг нужен
|
|||
443
Кирпич
17.12.20
✎
15:02
|
Потому что Delphi умер, а Microsoft Visual C++ и Eclipse плохо компилируют Basic
|
|||
444
Garykom
гуру
17.12.20
✎
15:02
|
(441) ну так покажи пример того что ему надо
готовую dll стороннюю заюзать |
|||
445
Кирпич
17.12.20
✎
15:03
|
(442) CMake чо компилятор что ли?
|
|||
446
Гений 1С
гуру
17.12.20
✎
15:06
|
(445) я откуда знаю, у 1С написано CMAKE
|
|||
447
Кирпич
17.12.20
✎
15:07
|
(441) Serginio1, буква ять не у всех есть на клавиатуре :)
|
|||
448
Гений 1С
гуру
17.12.20
✎
15:07
|
Вообще, как с нуля в VC проект для ВК создать, подключив имеющиеся в демо-примере файлы? Может с этого боку зайти?
Я пока изменяю установку VC, поставил там несколько галочек, но это долго |
|||
449
Кирпич
17.12.20
✎
15:08
|
(446) Ну если написано, то надо качать
|
|||
450
Кирпич
17.12.20
✎
15:09
|
(448) На инфостарте есть хорошая статья. Поищи
|
|||
451
Кирпич
17.12.20
✎
15:11
|
http://catalog.mista.ru/public/184119/
Но ты читать не будешь. Ты же не чайник какой нибудь. Ты С++ забыл. |
|||
452
Serginio1
17.12.20
✎
15:12
|
(442) Я ему кучу ссылок на примеры давал. Он даже не скачал компоненту и исходные файлы и не запускал ТестВКУФ. Там примеры и ВК использования внешней DLL храняйщейся в макете. Не нужно ему это ...
|
|||
453
Гений 1С
гуру
17.12.20
✎
15:12
|
(451) я ее как раз читаю, но там автор сразу открывает проект, а у меня на этом затык. Вот я и думаю создать этот проект "с нуля", добавив туда нужные файлы
|
|||
454
Гений 1С
гуру
17.12.20
✎
15:13
|
(452) да, это мне не нужно. Если бы ВК зарегилась в тонком, тогда бы я еще подумал, но так похоже не стоит с NET связываться. К тому же еще неровен час заказчик захочет, чтобы на сервере запускалась, а NET это сможет? ТОлько Native Же, не?
|
|||
455
Кирпич
17.12.20
✎
15:15
|
(453) С нуля? Ну создай проект DLL и по инструкции от 1С.
|
|||
456
Serginio1
17.12.20
✎
15:16
|
(454) Ну да у меня работает, а у тебя нет. При этом ты даже разобраться не хочешь.
С плюсами еще куча настроек компиляторов библиотек. Удачи Сергей тебе. Ты думаешь тебе здесь помогут по С++? Проще нанять человека и используя его код потихоньку изучать С++ и подправлять под свои потребности. |
|||
457
Кирпич
17.12.20
✎
15:17
|
(453) На чем затык то? Шаблон от 1с компилится и работает. Платформу там поставь какую надо вместо 120 и всё
|
|||
458
Гений 1С
гуру
17.12.20
✎
15:17
|
(455) попробую, если так не взлетит (после изменения установки Визуал Студио)
|
|||
459
Гений 1С
гуру
17.12.20
✎
15:17
|
(457) счас, обновится студия, попробую. Пока что поменял платформу, не взлетело. погуглил - говорят, не установлена C++, посмотрим
|
|||
460
Гений 1С
гуру
17.12.20
✎
15:18
|
(456) дык а оно мне надо, если гимор на пустом месте. Какие у тебя предположения, почему в тонком не работает?
|
|||
461
Serginio1
17.12.20
✎
15:18
|
456+ Вон Кирпич за десятку готов сделать, это значительно проще чем самому изучать и ваять.
|
|||
462
Serginio1
17.12.20
✎
15:19
|
(460) У меня все работает. Что там у тебя не знаю. Мне то это не нужно.
|
|||
463
Кирпич
17.12.20
✎
15:19
|
(461) Я не собираюсь делать. Я просто сказал, за сколько сделал бы
|
|||
464
Garykom
гуру
17.12.20
✎
15:20
|
(445) оно вполне успешно может выполнить cl имяфайла.cpp
и заменить https://docs.microsoft.com/ru-ru/cpp/build/reference/nmake-reference?view=msvc-160 |
|||
465
Кирпич
17.12.20
✎
15:22
|
(464) cl имяфайла.cpp я могу и сам в консоли набрать :)
|
|||
466
Garykom
гуру
17.12.20
✎
15:32
|
(465) и взять за это 10к ))
|
|||
467
Кирпич
17.12.20
✎
15:33
|
(466) ага. а если клиент гений, то и 20
|
|||
468
H A D G E H O G s
17.12.20
✎
15:37
|
||||
469
Serginio1
17.12.20
✎
15:50
|
Кстати попробуй для интереса зарегистрировать асинхронно
&НаКлиенте Процедура ПроверитьВК(Команда) ProgID="AddIn.GlobalContext1C"; // Вставить содержимое обработчика. Оповещение = Новый ОписаниеОповещения("УстановитьВК", ЭтотОбъект); НачатьПодключениеВнешнейКомпоненты(Оповещение, ProgID); КонецПроцедуры &НаКлиенте Процедура УстановитьВК(Подключено,Параметры) Экспорт врап=новый COMОбъект("NetObjectToIDispatch45"); ProgID="AddIn.GlobalContext1C"; Попытка Вк = Новый (ProgID); Исключение стр=ОписаниеОшибки(); ПоказатьПредупреждение(, "Компонента не подключена"+стр); Возврат КонецПопытки; ГК=Вк.ГлобальныйКонтекст; AppDispatch=ГК.AppDispatch; AppDispatch.Сообщить("Привет"); Сообщить(AppDispatch.СтатусСообщения.Важное); КонецПроцедуры |
|||
470
Кирпич
17.12.20
✎
15:54
|
(469) От ты настырный. Гений присягнул С++ сатане и уже не вернется.
|
|||
471
Garykom
гуру
17.12.20
✎
16:06
|
(470) c++ это ему не vb6 - не осилит
|
|||
472
Кирпич
17.12.20
✎
16:12
|
(471) Он не виноват. Это кризис в IT
|
|||
473
Garykom
гуру
17.12.20
✎
16:18
|
(472) Нет никакого кризиса, есть растущий рынок.
Даже сейчас до сих пор есть куча организаций у которых нет учета или он в тетрадке/экселе. |
|||
474
acht
17.12.20
✎
16:21
|
Вот и еще завершен еще один проект, подобный крутейшему FreeRad.
|
|||
475
Кирпич
17.12.20
✎
16:29
|
(474) Да не. Он C++ качает.
|
|||
476
Кирпич
17.12.20
✎
16:31
|
(473) Но это, в основном, мелкие наркодилеры
|
|||
477
H A D G E H O G s
17.12.20
✎
17:23
|
Немного отвлекся.
Сергей уже выкатил в продакт свое творение? |
|||
478
Arbuz
17.12.20
✎
17:36
|
Не могу понять, что хуже, лютый цинизм здорового 1С-нега (думаю надо говорить "1С-нигга") или легкая умственная отсталость?
|
|||
479
Garykom
гуру
17.12.20
✎
18:14
|
(478) Успешным 1Сником вполне можно стать с легкой умственной отсталостью
|
|||
480
Кирпич
17.12.20
✎
18:34
|
(479) Чем легче отсталость, тем круче одинесник
|
|||
481
Гений 1С
гуру
17.12.20
✎
19:12
|
(469) я ранее когда бился с тонким, пробовал асинхронно, не помогает.
|
|||
482
Гений 1С
гуру
17.12.20
✎
19:13
|
(471) тю. не боги С++ обжигают
|
|||
483
Ненавижу 1С
гуру
17.12.20
✎
19:22
|
(482) повторяется, см. (243)
|
|||
484
NorthWind
17.12.20
✎
19:22
|
(122) В ВК ооп не требуется
Да ну? Там даже ничего ни от чего не наследуется? |
|||
485
Garykom
гуру
17.12.20
✎
19:41
|
(482) ты уже неосилил C# а С++ оно сложней
|
|||
486
jbond
17.12.20
✎
20:05
|
(479) судя по этому треду в 1С идут все таки люди с F73.x4
|
|||
487
jbond
17.12.20
✎
20:10
|
(424) лоол.
Ты жалуешься на то, что у тебя не скомпилировалось? А ты сколько лет в айти? Все примеры вообще выкладываются as is без каких либо гарантий на компилируемость и работоспособность. Это стандартная ситуация в айти. |
|||
488
jbond
17.12.20
✎
20:18
|
(430) ты будешь смеяться, то VS2010 считается среди шарпистов ПОСЛЕДНЕЙ нормальной версией студии с шарпом. Каким то аналогом Delphi 7.
Кстати из-за недоступности для продажи VS2010 многие фирмы для разработки на шарпе до сих пор используют давно умерший SharpDevelop. |
|||
489
jbond
17.12.20
✎
20:22
|
(478) F73.14
|
|||
490
Garykom
гуру
17.12.20
✎
20:40
|
(488) Если честно то глубоко пофиг какую версию VS (после 2003) использовать, в любой можно собрать C++ ВК для 1С
|
|||
491
Serginio1
17.12.20
✎
20:41
|
(488) Поверь мне шарписту .Net Framework 3.5 это отстой по сравнению с .Net Framework 4.6.1
А уж тем более .Net 5 который Core. Про SharpDevelop даже не слышал. Он уже на С++, там другие библиотеки, настройки компилятора. Помню сам потратил время |
|||
492
Serginio1
17.12.20
✎
20:43
|
(490) А как же C++17 https://ru.wikipedia.org/wiki/C%2B%2B17
|
|||
493
Serginio1
17.12.20
✎
20:44
|
(0) Я тебе кучу ссылок давал, а там есть ВК на С++
http://catalog.mista.ru/1c/articles/534901/ Там и проект уже под VS 2015 был. Можешь оттуда взять |
|||
494
jbond
17.12.20
✎
21:19
|
(491) я как бе тоже шарпист. И я знаю, о чем говорю.
У нас в банке в QA для разработки утилит на шарпе используется SharpDevelop. Сам основной инструментарий Ranorex базируется на SD. VS мы не используем, так как он не нужен. |
|||
495
Кирпич
17.12.20
✎
21:44
|
(494) В каждой банке свои причуды. Чота этот SharpDevelop лет пять не обновлялся. Видимо он такой хороший, что и обновлять нечего. Или забросили. Я тоже в нём чота писал когда то. Потом Code поставил.
|
|||
496
H A D G E H O G s
17.12.20
✎
21:50
|
(495) Там у них своя атмосфера.
|
|||
497
jbond
17.12.20
✎
21:59
|
(495) обычно в айти Н лет не обновляется не означает, что умер.
Регулярные обновления за деньги может означать, что у производителя проблемы с финансами. |
|||
498
jbond
17.12.20
✎
22:01
|
(495) ты не сможешь на базе VS создать свой продукт и выпускать его коммерчески.
|
|||
499
Кирпич
17.12.20
✎
22:10
|
(498) Да мне как бы и не надо
|
|||
500
jbond
17.12.20
✎
22:14
|
(499) Ranorex это продукт, основанный на SD.
Без SD его бы не существовало бы. |
|||
501
lodger
17.12.20
✎
22:20
|
500 уже было.
ВК уже написали? |
|||
502
Кирпич
17.12.20
✎
22:21
|
Микрософт пишет https://visualstudio.microsoft.com/ru/vs/community/
Для индивидуальных пользователей Любой индивидуальный разработчик может создавать бесплатные или платные приложения с помощью Visual Studio Community. |
|||
503
Кирпич
17.12.20
✎
22:21
|
(501) Вот ждем. С минуты на минуту выкатит релиз
|
|||
504
H A D G E H O G s
17.12.20
✎
22:26
|
Я даже отложил киберпанк в ожидании продуктива.
|
|||
505
H A D G E H O G s
17.12.20
✎
22:26
|
jbond, че у вас по Германии?
Какие ожидания по компоненте от Гения? Будете покупать наши разработки за валюту? |
|||
506
Кирпич
17.12.20
✎
22:31
|
Неплохо было бы и самого Гения продать. Но он, сука, свободный человек.
|
|||
507
H A D G E H O G s
17.12.20
✎
22:44
|
(506) Нельзя, он немецкий не знает, а там всякое бывает... Це Европа.
https://youtu.be/r9WKm0i4-EA |
|||
508
Кирпич
17.12.20
✎
22:49
|
(507) Немецкий он забыл
|
|||
509
jbond
17.12.20
✎
23:18
|
(505) 1С уже давно ушла с рынка Германии
|
|||
510
H A D G E H O G s
17.12.20
✎
23:20
|
(509) У тебя как с юмором и пост-иронией?
|
|||
511
jbond
18.12.20
✎
00:17
|
(510) кто на мисте треды Гения читал, тот в цирке не смеётся.
|
|||
512
Гений 1С
гуру
18.12.20
✎
07:43
|
(484) там наследование одно и техническое. пустая формальность, так сказать.
(485) чем сложнее C++? если ты не заметил, то ВК под C# у меня скомпилировалась, но не работает в тонком. Это 1С не осилила. ;-) Да и я передумал биться с C# из-за регасм, нет и прочего. Решил, что C++ больше подходит для задачи. (487) пардон, пример выкладывает не Вася Петров, а фирма 1С, которая выкладывает это как методический материал. Итого в 2020 году на сайте 1С по ВК нет ни одного рабочего примера. Норм? Ну может быть в эпоху Кризиса Айти норм. (493) спасибо (501) еще пишем. |
|||
513
Ненавижу 1С
гуру
18.12.20
✎
07:57
|
(512) Это 1С не осилила
Нет. Это ты не осилил. |
|||
514
Кирпич
18.12.20
✎
08:40
|
(512) "Итого в 2020 году на сайте 1С по ВК нет ни одного рабочего примера. Норм?" :))
Примеры же сделаны для программистов С++, а не для тупорылых чайников, которые этот С++ видят впервые в жизни. |
|||
515
ДенисЧ
18.12.20
✎
08:44
|
(514) Зачем ты оскорбляешь Гения? Он второй раз видит уже...
|
|||
516
Garykom
гуру
18.12.20
✎
09:16
|
(509) Ну да избалованные европейцы хотят бесплатную версию платформы 1С
|
|||
517
lodger
18.12.20
✎
09:39
|
(516) ну так у них и так модель распространения отличается от РФ.
ключ разработчика вообще бесплатный вроде? |
|||
518
Garykom
гуру
18.12.20
✎
10:08
|
(517) для них странно даже наличие некой "файловой версии" - когда есть express версии sql серверов
|
|||
519
Garykom
гуру
18.12.20
✎
10:10
|
(518)+ Ну и ЯП 1С слишком длинный и слишком напоминает Basic c Pascal.
Надо делать аналог синтаксиса (с транслитерацией в обе стороны в самом конфигураторе) по типу C# или Java |
|||
520
Ненавижу 1С
гуру
18.12.20
✎
10:54
|
(519) как раз синтаксис европейцы переварят, это не американцы, они видели ABAP
и вообще европейская школа немного другая, хотя сейчас все смешалось |
|||
521
Serginio1
18.12.20
✎
11:09
|
>> то ВК под C# у меня скомпилировалась, но не работает в тонком.
Ради справедливости то моя ВК работает в тонком. Во всяком случае в 64 разрядном. У .Native ВК куча ограничений по сравнению с COM, но тут каждый выбирает для себя. По моему так ВК то особо и не нужен, если не нужен доступ к контексту 1С. Вместо IAsyncEvent можно использовать ДобавитьОбработчик. COM ВК это больше для семерки, а в особенности Native ВК для линукса. Везде куча ограничений |
|||
522
lEvGl
гуру
18.12.20
✎
11:12
|
>>> если ты не заметил, то ВК под C# у меня скомпилировалась, но не работает в тонком. Это 1С не осилила. ;-)
а в чем принципиальная разница между толстым и тонким в этой части? |
|||
523
Гений 1С
гуру
18.12.20
✎
11:35
|
(522) да чтоб я знал, 1с не дает инструментов диагностики для понимания причин отклонения регистрации ВК.
|
|||
524
Гений 1С
гуру
18.12.20
✎
11:35
|
(513) ну это уже зависит от точки зрения наблюдателя. Я сторонник юзер-френдли интерфейса, в который 1С не смогла. Она ведь не объясняет причин, почему компонента не регистрируется, просто Результат = Ложь и нах, в сад.
|
|||
525
Serginio1
18.12.20
✎
11:41
|
(524) Мог бы сравнить с моей. Если бы моя у тебя заработала, можно было бы смотреть реализации. Если нет, то может проблема в Версии 1С или разрядности.
Но ты послал все в сад, даже не стал разбираться. Раз у тебя не работает, то все ... |
|||
526
Гений 1С
гуру
18.12.20
✎
11:43
|
(525) сча, кстати
|
|||
527
Гений 1С
гуру
18.12.20
✎
11:55
|
(525) Проверил, твоя ВК в тонком подключается.
И? почему? Кстати, зачем ты записываешь макет ТестВК? &НаКлиенте Процедура ПриОткрытии(Отказ) // Вставить содержимое обработчика. врап=новый COMОбъект("NetObjectToIDispatch45"); // ФайлТестВК="d:\MyProgramms\ФайлыNetObjectToIDispatch\ТестВК\ТестВК\bin\Debug\ТестВК.dll"; ФайлТестВК=ЗаписатьМакет("ТестВК"); Если ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C") Тогда объект=Новый ("AddIn.GlobalContext1C"); ГлобальныйКонтекст=объект.ГлобальныйКонтекст; AppDispatch=ГлобальныйКонтекст.AppDispatch; AppDispatch.Сообщить("Привет"); Сообщить(AppDispatch.СтатусСообщения.Важное); иначе сообщить("Компонента не загружена"); КонецЕсли; КонецПроцедуры |
|||
528
Гений 1С
гуру
18.12.20
✎
11:59
|
(527) В консоли кода, без записи макета не работает:
врап=новый COMОбъект("NetObjectToIDispatch45"); Если ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C") Тогда объект=Новый ("AddIn.GlobalContext1C"); ГлобальныйКонтекст=объект.ГлобальныйКонтекст; AppDispatch=ГлобальныйКонтекст.AppDispatch; AppDispatch.Сообщить("Привет"); Сообщить(AppDispatch.СтатусСообщения.Важное); иначе сообщить("Компонента не загружена"); КонецЕсли; |
|||
529
Serginio1
18.12.20
✎
12:00
|
(527) А что бы отдельно её не хранить. Все в обработке находится
|
|||
530
Serginio1
18.12.20
✎
12:03
|
(528) Если ПодключитьВнешнююКомпоненту("AddIn.GlobalContext1C") Тогда должна работать во всех вариантах.
ЗаписатьМакет просто сохраняет ТестВК.dll из макета |
|||
531
Гений 1С
гуру
18.12.20
✎
12:03
|
(529) Сукко, ты не поверишь, но в обработке она у меня ВК подключает.
Если ПодключитьВнешнююКомпоненту("AddIn.ExtTest") Тогда //объект=Новый ("AddIn.GlobalContext1C"); объект=Новый ("AddIn.ExtTest"); объект.Show("yes"); КонецЕсли; Видимо, какие-то проблемы в консоли кода, из которой я ее гонял. Ок, спасибо. Но на C# все равно, наверное делать не буду, заманчивее на C++ сделать, чтобы было все без всякого говна типа NET, полное NATIVE |
|||
532
Гений 1С
гуру
18.12.20
✎
12:04
|
Кстати те, кто трендел, что я не могу в C#, теперь могут засунуть себе эти слова в стёк. ;-) Спасибо, Serginiol. Но увы, в C# я не хочу, на C++ решение кажется более подходящим задаче.
|
|||
533
Гений 1С
гуру
18.12.20
✎
12:07
|
(530) кстати, посмотрел код консоли кода, она выполняет код на сервере. Несмотря на то, что это файловая версия, на сервере подключать не хочет, видимо в ВК это имеет роль. ;-)
|
|||
534
Гений 1С
гуру
18.12.20
✎
12:08
|
В принципе счас можно было бы расслабиться и написать на C# (пойти по пути минимального сопротивления), но я хочу на С++ теперь сам.
|
|||
535
Serginio1
18.12.20
✎
12:09
|
(531) Вот и разобрались. Ну по поводу говна можно конечно поспорить.
Но ты еще не очень разборчив в них. Я то уже в них руки то обмарал. У тебя .Net это просто Pinvoke над нативными библиотеками. Смысла в .Net нет. Но обычный юзер может используя мою компоненту без всяких приседаний с VS и прочими, использовать нетовскую библиотеку и методы напрямую в 1С Только и всего |
|||
536
Serginio1
18.12.20
✎
12:11
|
(533) Да там же написано кроме сервера и внешнего соединения. Я у тебя про это и спрашивал.
|
|||
537
Гений 1С
гуру
18.12.20
✎
12:15
|
(536) ну я как-то не подумал, что в файловой версии серверный контент тоже считается сервером для ВК... Хотя знал, что код в консоли выполняется на сервере. Спасибо, что помог разрешить это маленькое недоразумение.
(535) Ну да, обертка над DLL не требует NET, это лишнее. Так то счас на C# написать проще, но нужно делать как правильнее. |
|||
538
Serginio1
18.12.20
✎
12:25
|
(537) Но у тебя я так понял нет 64 разрядной DLL?
|
|||
539
Кирпич
18.12.20
✎
12:25
|
Ну вот. Оставили их на полчаса, а они уже в говне и на C# опять программируют.
|
|||
540
Гений 1С
гуру
18.12.20
✎
12:26
|
(538) в SDK есть 32 и 64 разряда. и клиент изъявлял желание работать на сервере (но это как пожелание, для регл. заданий)
Я так понимаю компонента на NET технологии на сервере не заработает? |
|||
541
Гений 1С
гуру
18.12.20
✎
12:27
|
(539) ты скинь лучше шаблон ВК адаптированный под VC 19, заплачу 1000 если взлетит.
|
|||
542
Гений 1С
гуру
18.12.20
✎
12:27
|
(541) +NATIVE Шаблон
|
|||
543
H A D G E H O G s
18.12.20
✎
12:28
|
(541) Щедрость не знает границ.
|
|||
544
Ненавижу 1С
гуру
18.12.20
✎
12:29
|
(533) а твоя консоль кода точно на тонком клиенте выполняет код?
|
|||
545
Serginio1
18.12.20
✎
12:30
|
Не нужна тебе ВК. И на сервере тем более. Достаточно COM обычного
|
|||
546
Ненавижу 1С
гуру
18.12.20
✎
12:30
|
(537) Гений походу и в 1С то не очень
|
|||
547
Гений 1С
гуру
18.12.20
✎
12:39
|
(545) а на сервере COM создастся? там какие-то пляски, не?
|
|||
548
Гений 1С
гуру
18.12.20
✎
12:40
|
(546) а судьи кто? Человек с нулевым местом на инфостарте. Я, по крайней мере, умею решать задачи, а ты только тявкаешь, Моська.
|
|||
549
Serginio1
18.12.20
✎
12:42
|
(547) Моя крмпонента работает на серверах. Проверено временем.
Все тоже самое, только COM надо зарегистрировать. Просто мою компоненту 1 раз зарегистрировал и подгружай любые dll (548) Интересно какое там у меня место? |
|||
550
H A D G E H O G s
18.12.20
✎
12:43
|
(548) Сергей, вы что такой злобный?
|
|||
551
jbond
18.12.20
✎
12:50
|
(516) - Э... Из клиентов 1Ски в Германии были руцаки - риальные поцыки, не привыкшие платить за лицензии, которые пошли в "бизнес" с Hartz IV.
|
|||
552
Ненавижу 1С
гуру
18.12.20
✎
12:55
|
(548) умеешь конечно, вот же
https://geniy1s.ru/ |
|||
553
Кирпич
18.12.20
✎
13:03
|
(541) А потом чо за каждую новую строчку будешь доплачивать?
|
|||
554
H A D G E H O G s
18.12.20
✎
13:13
|
А ведь он даже еще ничего и не писал.
Так нельзя в суровых ЯП. В суровых ЯП ты должен уметь скурпулезно сидеть часами, постигая суть. |
|||
555
Serginio1
18.12.20
✎
13:13
|
(541) Посмотри https://github.com/andrei-karpov/UniversalNativeWrapper
|
|||
556
Гений 1С
гуру
18.12.20
✎
13:24
|
(553) ну я хочу сэкономить себе время на старт с VC, дальше сам. С VBasic у меня не было проблем.
|
|||
557
Гений 1С
гуру
18.12.20
✎
13:25
|
(554) в смысле не писал? Я уже две ВК на VB6.0 написал. И что такое серьезные языки, прасцице?
|
|||
558
Гений 1С
гуру
18.12.20
✎
13:25
|
(555) это несколько иное ж. ;-)
|
|||
559
H A D G E H O G s
18.12.20
✎
13:32
|
(557) Я именно про C#/C++
То, что ты там писал на VB - это так, детский утренник |
|||
560
Serginio1
18.12.20
✎
14:04
|
(558) Там проект на VS 2019. Выкинь ненужно или возьми настройки и библиотеки оттуда
|
|||
561
Гений 1С
гуру
18.12.20
✎
14:04
|
(559) че ты мне заливаешь? Я год после универа на BC++ работал. утреник... Ха
|
|||
562
Гений 1С
гуру
18.12.20
✎
14:05
|
(560) так там COM-проект, а не Native. Ну если что, то пойду этим путем, спасибо Дорогой 1С
|
|||
563
Serginio1
18.12.20
✎
14:06
|
(557) Повторюсь, мой коллега когда переходит с С++ на C# так радуется и называет C# детским языком.
|
|||
564
H A D G E H O G s
18.12.20
✎
14:10
|
(561) Компонента уже написана?
|
|||
565
Serginio1
18.12.20
✎
14:13
|
(562) Там я так понял преобразование из натива к COm там и IAddInDefBase
В любосм случае тебе нужный по студию другие библиотеки, настройки компилятора. Все это ты можешь посмотреть |
|||
566
Serginio1
18.12.20
✎
14:15
|
Сергей для тебя
https://habr.com/ru/post/497114/ Был я относительно недавно на собеседовании (на позицию embedded-программиста), где меня попросили написать аналог tar'a. С лимитом по времени 4 часа. И без Qt, пожалуйста. Штош, подумал я, где наша не пропадала? 1 час я потратил на установку boost'a (не встал, какие-то жэсточайшие ошибки, не было времени дальше копать). Еще час я потратил, чтобы узнать, как кроссплатформенно открыть файл и узнать его размер. Кажется, никак, если нет С++17 c std::filesystem. Последний час я из спичек и желудей лепил хоть что-нибудь. И вот потом я сидел и думал, что же с нами стало. Вообще, С++ это словно какая-то игра, специально разработанная, чтобы вызывать зависимость. Только не специально! |
|||
567
Гений 1С
гуру
18.12.20
✎
14:22
|
(563) твой коллега в БГУИР не учился, гыгыгы...
|
|||
568
Serginio1
18.12.20
✎
14:25
|
(567) Мой коллега кандидат математических наук! Умнейший человек.
|
|||
569
Garykom
гуру
18.12.20
✎
14:26
|
(568) Подскажи коллеге глянуть Golang
|
|||
570
Гений 1С
гуру
18.12.20
✎
14:34
|
(566) Пост интересный, спасибо. Можно оттуда процитировать с перефразированием:
"Кто я, если выкинуть 1С? И, может, выкидывать это всё — ошибка. Меня ждут минимум в двух очень хороших местах, одно из них неплохо смотрится в резюме, в обоих местах готовы платить какие-то баснословные деньги, но просто не могу больше этим заниматься. Кто-то наверняка скажет, что я с жиру бешусь, особенно сейчас, когда неопределённость на рынке труда повыше. Наверное, кто-то будет прав." |
|||
571
Гений 1С
гуру
18.12.20
✎
14:35
|
(568) БГУ всегда был слабее БГУИР в С++. Практики сильнее теоретиков
|
|||
572
lEvGl
гуру
18.12.20
✎
14:37
|
(570) тому кто умеет писать ВК там будут платить еще больше? и что понимается под баснословностью? порядок числа хотя бы можно?
|
|||
573
Serginio1
18.12.20
✎
14:39
|
(571) Я не помню, где он учился, но кандидат по математике это ОООчень круто.
Там на халяву не пролезешь (569) Мы все смотрели. Под определенные задачи в большинстве случаев нужен голый С |
|||
574
Гений 1С
гуру
18.12.20
✎
14:39
|
(572) секс с извращениями всегда дороже обычного. Думаю, если на ассемблере писать СУБД, это будет несколько дороже, чем на 1С, ибо мазохистов мало, их надо ЦЕНИТЬ
|
|||
575
Гений 1С
гуру
18.12.20
✎
14:40
|
(573) О, я как-то лет 5-10 назад написал программу на Си, когда уже забыл его основательно. ничего, кое-как вспомнил. Программа обрабатывала звуковые файлы (записи телефонных звоноков), убирая ненужные части файла, чтобы был обычный WAV на выходе.
|
|||
576
Ненавижу 1С
гуру
18.12.20
✎
14:44
|
(574) и много СУБД написано на 1С? Ах, да, я же буквоед... А не кажется ли вам, что если вы постоянно путаете термины при написании, то что-то подобное происходит и в голове? Ведь не зря же рекомендуют мысли оформить письменно - человек успевает мысль провертеть несколько раз в себе за время написания
|
|||
577
acht
18.12.20
✎
14:51
|
(548) > с нулевым местом на инфостарте.
Геня, почему место на инфостарте не помогает тебе писать компоненту? |
|||
578
Гений 1С
гуру
18.12.20
✎
14:56
|
(577) а как он должен мне помогать? ;-)
(576) зачем слушать глупые советы, кому надо поймет правильно. Не для буквоедов, чай, писано. |
|||
579
acht
18.12.20
✎
15:01
|
(578) То есть оно как-бы уже и не важно что-ли, я не понял?
|
|||
580
lEvGl
гуру
18.12.20
✎
15:17
|
(574) сомневаюсь в повышенной оплате низкоуровневых дел, хотя на истину не претендую, не интересовался. логика такая, что в наше время все это уже давно написано, поэтому остается только пользоваться, как их называют, "высокоуровневыми" языками. не надо ковыряться с битами, уже расковырено, отсюда видимый результат для заказчика бОльшего размера в более короткие сроки. Бизнесу, например как область применения автоматизации, все равно, какими средствами решена задача. И виденье задач у бизнеса укрупненное "Автоматизация расчета необходимых для производства материалов" например, или "Учет полуфабрикатов и продуктов". А не "драйвер взаимодействия жесткого диска с операционной системой". Ну это так, к примеру.
|
|||
581
Garykom
гуру
18.12.20
✎
15:23
|
(580) Нет.
Сейчас картинка оно или есть и дешево. Или нету (не подходит что есть) и сделать очень дорого. Дорого потому что хрен спеца найдешь и время. |
|||
582
Garykom
гуру
18.12.20
✎
15:25
|
(581)+ Банально попробуй сча исправить dos программу написанную на языке высокого уровня типа dBase/FoxPro/Clipper.
HR взвоет если на него поиски спеца взвалить |
|||
583
lEvGl
гуру
18.12.20
✎
15:28
|
(582) так наличие в пользовании такой программы - пережиток прошлого, если правильно понял что имеется ввиду. И успешное решение такой задачи - еще один плюсик к уходу от таких пережитков. ТО есть когда нибудь они, такие задачи, закончатся.
|
|||
584
Гений 1С
гуру
18.12.20
✎
15:30
|
(583) Да ты шьто? Вон, в "Империи Добра" срочно понадобились Кобольщики: https://www.cnews.ru/news/top/2020-04-07_ssha_izza_koronavirusa_ponadobilis
Фил Мерфи добавил, что половина поступающих заявок обрабатывается с существенным опозданием, и для этого ему и нужны специалисты по COBOL – необходимо модернизировать ПО мейнфреймов. Однако найти таких программистов властям непросто. |
|||
585
dangerouscoder
18.12.20
✎
15:33
|
(582) А зачем откапывать дедушку ?
иногда проще быстрее и дешевле внедрить новый проект. в мире IT сейчас больше 5-10 лет ничего не живет.. |
|||
586
Garykom
гуру
18.12.20
✎
15:34
|
(583) (585) Боюсь вы не поняли.
Редкость это не обязательно устаревшее, бывает просто редкое хотя и новое типа написание ВК для 1С. |
|||
587
lEvGl
гуру
18.12.20
✎
15:37
|
в продолжение, да и к теме топика вцелом: сколько еще будем писать ВК... доКоли?! они сделали целую подсистему БПО в полтора гига размером, которая по сути представляет из себя набор драйверов, сделанных по "технологии написания ВК", что бы внешнее событие отрабатывало, наХаритона?! Микрософт сделал тот же mscomm32 думаю где то в 90-х, если не раньше, и его можно до сих пор использовать для общения с внешним оборудованием с обработкой события появления в буфере данных, настройками и остальным. Надо было бы собрать петицию к желтой фирме включить в состав платформы класс, позволяющий работать с портами.
|
|||
588
acht
18.12.20
✎
15:38
|
(585) > в мире IT сейчас больше 5-10 лет ничего не живет.
Ну, например, та же 1С 7.7 родилась в 1996 году, и чой-то сейчас с тобой несогласна. |
|||
589
lEvGl
гуру
18.12.20
✎
15:38
|
(585) да это чепуха, единичные случаи, такие же как
>>>Или нету (не подходит что есть) и сделать очень дорого. >>>Дорого потому что хрен спеца найдешь и время. |
|||
590
Garykom
гуру
18.12.20
✎
15:39
|
(587) Да зи...ли дайте просто возможность из 1С напрямую функции dll вызывать обычных c-shared и com/ole.
Ну и передавать адрес эвента для обратного вызова. |
|||
591
lEvGl
гуру
18.12.20
✎
15:40
|
да, такое есть, но полагаться на это "в завтрашний день" стремно что то, это не мейн стрим, может возникнуть ситуация, когда работу не найдешь
|
|||
592
Garykom
гуру
18.12.20
✎
15:40
|
(589) Найдите спеца по маркировке + 54-фз + эдо + http rest + специфика предметки/учета ?
|
|||
593
Garykom
гуру
18.12.20
✎
15:42
|
(592)+ и тут все у кого 77 (старая 8-ка) или переходят на новую 8ку или находят/покупают готовое решение (если оно есть под них) или платят большие бабки за допилку их раритета
|
|||
594
lEvGl
гуру
18.12.20
✎
15:42
|
(592) разве это "низкоуровневое"? об это ведь говорили. спеца по квантовой физике тоже найти трудной, но он ведь не занимается вопросом силы тяготения в традиционном смысле.
|
|||
595
Гений 1С
гуру
18.12.20
✎
15:44
|
(585) расскажи об этом чиновникам в США
|
|||
596
H A D G E H O G s
18.12.20
✎
15:46
|
(590) Дадада.
Ты знаешь, что есть вполне документированные, юзерские функции WinAPI, которые возвращают указатели на список, в котором указатели на список? |
|||
597
Гений 1С
гуру
18.12.20
✎
15:50
|
(588) кстати, спецы по 77 наверное скоро будут стоить столько же, сколько по Коболу.
(593) с хорошего COBOLA соскочить сложнее, чем с 77 на 83 |
|||
598
Гений 1С
гуру
18.12.20
✎
15:50
|
(596) их просто игнорить. В NATIVE вон не все типы поддерживаются VARIAN
|
|||
599
Гений 1С
гуру
18.12.20
✎
15:56
|
Кстати по коболу:
Представители банка сообщили, что переход на новое ПО занял пять лет – он проходил в период с 2012 по 2017 гг. Размер затрат на это крупномасштабное мероприятие известен – апдейт обошелся банку почти в $750 млн Переход обошелся в 10 млн человеко-часов высокооплачиваемых Коболистов. ;-) |
|||
600
lEvGl
гуру
18.12.20
✎
15:56
|
(590) вызывать из написанного под СОМвидимость проблем нет, как и получать указатель обратно во внешнее событие, если написано по технологии ВК. вопрос: нахрена? подключи микрософтовскую шнягу, которой 100 лет в обед, она все это умеет, только не развивается. Для юсб, блютуза и остального новомодного не может.
|
|||
601
lEvGl
гуру
18.12.20
✎
15:58
|
(599) да почему бы нет, какая разница, если функционал устраивает, хоть счеты пусть достают, на них спецы пока еще есть
|
|||
602
lEvGl
гуру
18.12.20
✎
16:08
|
(584) а у алжирского дея под самым носом шишка (с)
и что это исключение, а не правило |
|||
603
Гений 1С
гуру
18.12.20
✎
16:12
|
(602) перечитай статью. тебя возможно удивит, но рынок мирового COBOL в несколько раз больше рынка 1С.
|
|||
604
dangerouscoder
18.12.20
✎
16:23
|
(595) заказчику тоже неделю расказываешь про чиновников США?
Или ВК уже написана отлажена и внедрена? |
|||
605
Гений 1С
гуру
18.12.20
✎
16:27
|
(604) со сроками все путем
|
|||
606
lEvGl
гуру
18.12.20
✎
16:29
|
(603) рынка 1С, серьезно? представляю восколько раз рынок Виндовс больше рынка 1С.
|
|||
607
lEvGl
гуру
18.12.20
✎
16:31
|
+ или того же рынка cobol
|
|||
608
Гений 1С
гуру
18.12.20
✎
16:39
|
(606) иди изучай COBOL, 50$ в час больше чем 20$
|
|||
609
lEvGl
гуру
18.12.20
✎
16:47
|
кобол, шмабол - все эти дела меняются по три раза на день, лучше уметь что то более постоянное, например предметную область, для которой на коболе делаешь, а там хоть на ворде
|
|||
610
lEvGl
гуру
18.12.20
✎
16:50
|
(608) 20$ - это действительно баснословные деньги, от слова басня, если про кодинг 1с говорить
|
|||
611
lEvGl
гуру
18.12.20
✎
16:52
|
ну если не франч, имею ввиду, но и часов там не 160 в месяц, а если 160 то не 20$
|
|||
612
Гений 1С
гуру
18.12.20
✎
16:58
|
(611) я думаю там коболисты загружены 8*5, хотя учитывая, что они старички, может дедкам и 4*4 хватает
|
|||
613
acht
18.12.20
✎
17:50
|
Геня, ты все еще собираешся, или уже пишешь?
Неделя уже прошла, есличо. |
|||
614
Гений 1С
гуру
18.12.20
✎
17:51
|
(613) пока вы еще не мой секретарь, за сроками слежу я сам. Говорю же, все пучком.
|
|||
615
H A D G E H O G s
18.12.20
✎
18:13
|
||||
616
Кирпич
18.12.20
✎
20:39
|
Гений съезжает на кобол :) Похоже сдулся
|
|||
617
Конструктор1С
19.12.20
✎
10:25
|
(597) "спецы по 77 наверное скоро будут стоить столько же, сколько по Коболу"
Не будут. У них совершенно разные условия. В кобол американские банки в своё время вложили вагоны $$$. В семеру в своё время вложили сто рублей российские ларьки. И если американскому банку не на что заменить свою уникальную миллиардную систему, то семера российского ларько легко заменяется на восьмеру или любое из 100500 представленных на рынке решений |
|||
618
Конструктор1С
19.12.20
✎
10:27
|
(616) банально не умеет доводить дела до конца. Поэтому как тот ветренный юнец прыгает с одного на другое
|
|||
619
Гений 1С
гуру
19.12.20
✎
12:30
|
(618) те дела, за которые мне платят, я довожу до конца. ;-)
Кстати, коллеги, а 64-разрядная COM-компонента сможет на сервере работать? не охота Native писать, она же в 77 не подцепится и в других системах, это по сути, только для 1с |
|||
620
Гений 1С
гуру
19.12.20
✎
12:56
|
(617) Кстати, да, у USA не очень хорошо с документированием и поддержкой. Вон, документацию по полетам на Луну полностью утратили. Хотя специалисты теории заговора говорят, что полетов не было, но если полеты были, то так потерять документацию - позор. Наверное и с Коболом так же
|
|||
621
Кирпич
19.12.20
✎
13:06
|
(620) Ага. Давай ветку флудом про кобол и луну закидаем, чтобы не видно было где наш Гений окончательно обосрался.
|
|||
622
jbond
19.12.20
✎
14:46
|
(585) Java, Cobol, Python, C, C++, C#...
|
|||
623
H A D G E H O G s
19.12.20
✎
14:52
|
(619) Все может. Если что то не может - то это кривые руки, Гений.
На Сервере недоступны некоторые функции AppDispatch, но это решаемо, хоть ты и не поймешь, про что я. |
|||
624
H A D G E H O G s
19.12.20
✎
14:52
|
Компонента уже дописывается, я правильно понимаю? Документация уже пишется, Сергей?
|
|||
625
Гений 1С
гуру
19.12.20
✎
15:22
|
(624) пока что обновляется VC, чтобы протестировать компиляцию C++ примера компоненты от 1С.
|
|||
626
Гений 1С
гуру
19.12.20
✎
15:25
|
(623) а как именно? Вот я написал 64-разрядную COM-компоненту. и что, регсервом из сисвов64 реглю и запускается?
почему же у меня NET компонента в &НаСервере не регилась в тонком? |
|||
627
Serginio1
19.12.20
✎
15:25
|
(619)Любой ком объект можно использовать где угодно, кроме линукса.
Главное быть зарегистрированной в нужных ветках реестра для определенной разрядности ос. ВК ПодклюищитьВнешнююКомпоненту как ты уже знаешь на сервере не работает. AppDispath, ILanguageExtender и прочие интерфейсы на сервере не нужны. достаточно IDispatch |
|||
628
Serginio1
19.12.20
✎
15:27
|
(626)
ПодключитьВнешнююКомпоненту(<ИдентификаторОбъекта>) Параметры: <ИдентификаторОбъекта> (обязательный) Тип: Строка. Идентификатор объекта внешнего компонента в виде ProgID (Programmatic Identifier) реестра MS Windows (например: "AddIn.Scanner"). Должно соответствовать информации, находящейся в регистрационной базе данных системы (Registry). Описание варианта метода: Компонент должен быть выполнен по технологии COM и зарегистрирован в реестре MS Windows. Эти компоненты совместимы с компонентами 1С:Предприятия 7.7. Внимание! Вариант метода не работает на сервере и во внешнем соединении. |
|||
629
Кирпич
19.12.20
✎
16:06
|
(628) "Внимание! Вариант метода не работает на сервере и во внешнем соединении."
Кризис IT во всей красе |
|||
630
Garykom
гуру
19.12.20
✎
16:19
|
(629) Честно говоря я не понимаю почему еще в 1С не сделали нормальный удобный и везде работающий способ написания ВК.
Причем не только на C++ но других популярных ЯП. |
|||
631
Конструктор1С
19.12.20
✎
16:46
|
(630) для полуоблачной 1с технология внешних компонент сама по себе скорее атавизм
|
|||
632
Garykom
гуру
19.12.20
✎
16:53
|
(631) тогда хотя бы http сервер в клиента 1С встроить, чтобы внешние события без ВК ловить
|
|||
633
Конструктор1С
19.12.20
✎
17:07
|
(632) имхается мне, со временем фирма 1с будет развивать возможности интеграции с другими системами. Это прям жизненная потребность. В ларьке в 2005-м году платформа 1с саме себе такая красавица, ни о ком не хотела знать. В холдинге в 2020-м такой самозамкнутость уже недостаток. В крупных предприятиях over дохрена всяких технологий, и вся эта кухня интегрируется друг с другом
|
|||
634
Гений 1С
гуру
19.12.20
✎
17:09
|
(628) и как быть?
|
|||
635
H A D G E H O G s
19.12.20
✎
17:13
|
(634) Позвать специалиста
|
|||
636
Ненавижу 1С
гуру
19.12.20
✎
17:27
|
Native
|
|||
637
acht
19.12.20
✎
17:34
|
(632) И как сервер взаимодействия тогда продавать? =)
|
|||
638
Serginio1
19.12.20
✎
18:26
|
(634) Добавь к своей компоненте методы. Пометь их на всякий случай [ComVisible(true)]
и создавай через новый COMОбъект(ProgID) И вызывай методы также как4 и ПодключитьВнешнююКомпоненту(ProgID) и Создать(ИмяКомпоненты) Только вызыватся для COMОбъект будут через IDispatch а не ILanguageExtender. Ты кстати можешь в CallAsProc и CallAsFunc GetPropVal вызывать эти методы. И будет у тебя 2 в одном! |
|||
639
Serginio1
19.12.20
✎
18:40
|
Только метод должен быть публичным
[ComVisible(true)] public object СоздатьОбъект(object Тип, params object[] argOrig) Про ComVisible можно почитать здесь. https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime.interopservices.comvisibleattribute?view=net-5.0 Если хочешь, что бы все типы были по умолчанию [ComVisible(true)] то задай в AssemblyInfo.cs // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [assembly: ComVisible(true)] |
|||
640
Кирпич
19.12.20
✎
19:59
|
(639) 0 бит. Слишком много непонятных букв.
|
|||
641
ДедМорроз
19.12.20
✎
20:25
|
А компонента на сервере и события передавать же не может
Тогда вопрос-а зачем она вообще нужна,если пнуть что-то можно через КомандаСичтемы? |
|||
642
H A D G E H O G s
19.12.20
✎
20:34
|
(641) Работать с объектами 1С внутри ВК.
|
|||
643
ДедМорроз
19.12.20
✎
20:41
|
На клиенте - да,а на сервере?
Просто,можно подключить внешнюю обработку и уработаться по самые уши. А если ещё и магический оператор Выполнить,то счастье будет. |
|||
644
ДедМорроз
19.12.20
✎
20:43
|
Просто,web-клиент оператор Выполнить не умеет
Правда,он и компоненты умеет достаточно ограниченно. |
|||
645
Serginio1
19.12.20
✎
21:04
|
(642) Передавай в методы Com объекта любые объекты 1С и будет тебе счастье. Можешь ссылку на модуль передать и вызывай все методы модуля из комобъекта.
А сообщить и прочая лабуда на сервере не нужна |
|||
646
H A D G E H O G s
19.12.20
✎
21:36
|
(645) Например, закрыть код
|
|||
647
Serginio1
19.12.20
✎
22:15
|
(646) Не понял. Как закрыть код?
|
|||
648
Garykom
гуру
19.12.20
✎
22:22
|
(647) часть функционала из 1С выносится в ВК
|
|||
649
acht
19.12.20
✎
22:23
|
(647) Это второй вариант ответа на "а зачем она вообще нужна". Закрыть код на 1С выносом функционала в dll.
|
|||
650
Serginio1
19.12.20
✎
22:43
|
(648) Ну еще раз передай в объект ссылку на модуль где есть методы Новый(), выполнить и методы с возвращающий менеджер Справочник Документ.
Ты же будежь делать обработку ну и передавай ЭтотОбъект и закрывай код. |
|||
651
H A D G E H O G s
19.12.20
✎
22:46
|
(650)
Нехватающего сделал через ОМ Функция ВыполнитьВычисление(Выражение,Параметр) Экспорт Возврат Вычислить(Выражение); КонецФункции Процедура ЗапуститьВыполнение(Выражение) Экспорт Выполнить(Выражение); КонецПроцедуры Функция ЭтоСервер() Экспорт Результат=Ложь; #Если Сервер Тогда Результат=Истина; #КонецЕсли Возврат Результат; КонецФункции Процедура ЗаполнитьЗначенияСвойствПереопределенный(Приемник, Источник,СписокСвойств=Неопределено,ИсключаяСвойства=Неопределено) Экспорт ЗаполнитьЗначенияСвойств(Приемник,Источник,СписокСвойств,ИсключаяСвойства); КонецПроцедуры Функция СравнитьЗначения(Значение1,Значение2) Экспорт Возврат Значение1=Значение2; КонецФункции Для всего остального хватает ОМ |
|||
652
H A D G E H O G s
19.12.20
✎
22:46
|
Для всего остального хватает ОМ ->
Для всего остального хватает AppDispatch |
|||
653
Serginio1
19.12.20
✎
22:49
|
(0) https://its.1c.ru/db/metod8dev#content:3221:hdoc:_com_warning
Особенности разработки компонент с использованием COM Компоненты, разработанные с использованием технологии COM, могут быть изначально не установлены на компьютере пользователя. Метод ПодключитьВнешнююКомпоненту(<МестонахожденияКомпоненты>, <ИмяМетки>, ТипВнешнейКомпоненты.COM), получает из информационной базы файл внешней компоненты, если последняя находится там, и вызывает функцию регистрации объектов компоненты DllInstall. Если регистрация "для пользователя" завершилась неудачно, то вызывается функция DllRegisterServer. Если пользователь ограничен в правах, то регистрация и подключение внешней компоненты может закончится неудачей. Разработчик должен предусмотреть возможность регистрации компоненты для пользователя, под его текущими правами. Если внешняя компонента имеет свой инсталлятор, то она должна регистрироваться для компьютера. |
|||
654
Serginio1
19.12.20
✎
22:52
|
(652) Так как ты на сервере подключишь?
ПодключитьВнешнююКомпоненту(<ИдентификаторОбъекта>) Параметры: <ИдентификаторОбъекта> (обязательный) Тип: Строка. Идентификатор объекта внешнего компонента в виде ProgID (Programmatic Identifier) реестра MS Windows (например: "AddIn.Scanner"). Должно соответствовать информации, находящейся в регистрационной базе данных системы (Registry). Описание варианта метода: Компонент должен быть выполнен по технологии COM и зарегистрирован в реестре MS Windows. Эти компоненты совместимы с компонентами 1С:Предприятия 7.7. Внимание! Вариант метода не работает на сервере и во внешнем соединении. |
|||
655
H A D G E H O G s
19.12.20
✎
22:56
|
(654) Жесть какая.
Глобальный контекст (Global context) ПодключитьВнешнююКомпоненту (AttachAddIn) Вариант синтаксиса: По имени и местоположению Синтаксис: ПодключитьВнешнююКомпоненту(<Местоположение>, <Имя>, <Тип>) |
|||
656
Гений 1С
гуру
19.12.20
✎
23:27
|
(638) кстати, да, как вариант.
|
|||
657
Serginio1
19.12.20
✎
23:37
|
(655) Ты так и не ответил v8: Не могу понять, вызывает ли сервер 1С внешнюю компоненту...
|
|||
658
H A D G E H O G s
19.12.20
✎
23:41
|
(657) На что не ответил?
|
|||
659
Garykom
гуру
20.12.20
✎
00:13
|
(657) Если правильно помню то ВК на сервере не могут дергать сервер 1С, только сервер дергать методы ВК
|
|||
660
H A D G E H O G s
20.12.20
✎
00:33
|
(659) Нет, не могут. Если ты про ВнешнееСобытие или ДобавитьОбработчик
|
|||
661
pavig
20.12.20
✎
01:38
|
(221)
Ты попутал чего-то |
|||
662
Garykom
гуру
20.12.20
✎
01:47
|
(660) Угу, поэтому смысл ВК на сервере теряется, можно заменить публикацией на веб-сервере и сервисом в 1С
И сервер 1С может дергать внешний веб-сервис вместо вызовов методов ВК, конечно это тормозней Т.е. ВК нужна для скорости или дергать 1С на клиенте |
|||
663
ДедМорроз
20.12.20
✎
08:18
|
В vk можно реализовать функцию Sleep, которая на сервере очень нужна,особенно,когда фоновое задание чего-то ожидает.
|
|||
664
Вафель
20.12.20
✎
09:47
|
(662) наделают микросервисов, а потом хрен тестовую базу развернешь
|
|||
665
acht
20.12.20
✎
10:28
|
(664) Ты чо, это же наоборот, дает бесценную возможность невозбранно портить продуктовые базы вызовами из тестовых баз!
|
|||
666
ДедМорроз
20.12.20
✎
10:42
|
Если грамотно прописать адреса для обмена,то независимо от технологии тестовые будут лезть в тестовые,а рабочие в рабочие.
Это только у того,кому день писать,потом тестовая база гадит в рабочую. |
|||
667
Serginio1
20.12.20
✎
11:14
|
(658) На последний вопрос v8: Не могу понять, вызывает ли сервер 1С внешнюю компоненту...
Как раз про AppDispatch Уважаемый HADGEHOGs, может быть Вы сможете еще помочь мне прояснить следующую ситуацию: через PBackConection (pConnrection) пытаюсь получить ссылку на AppDispatch. Вызов m_iConnect->GetIDsOfNames(... отрабатывает нормально (возвращает 0). Но далее, при попытке вызова m_iConnect->Invoke(... rphost активно что-то пытается делать, затем вылетает с ошибкой (наверное по таймауту). Точно такой же код, но в 32-битной версии и при выполнении на клиенте отрабатывает без проблем (понятно, что там работет 1cv8.exe а не rphost). Сервис агента 1С грузится под администратором. Соответственно возникли два вопроса: 1. В принципе, rphost должен воспринимать нормально запрос на Invoke или нет? 2. Можно ли каким либо образом расширить логирование rphost, чтобы он туда клал больше информации? |
|||
668
ДедМорроз
20.12.20
✎
13:03
|
Там нужно внимательно читать про выравнивание данных,так как по умолчанию для 64 бит это 8 байт и очень вероятно попасть мимо поля объекта.
|
|||
669
H A D G E H O G s
20.12.20
✎
13:29
|
(667) Тема 6 летней давности.
Последний вопрос парень задал на сл. день от моего ответа и его я скорее всего просто не заметил. У тебя там все нормально? |
|||
670
H A D G E H O G s
20.12.20
✎
13:34
|
Все нормально ВК работают на сервере, в x64, что за недоверие?
http://prntscr.com/w6ghzk |
|||
671
Serginio1
20.12.20
✎
14:00
|
(670) Я про AppDispatch на сервере
|
|||
672
ДедМорроз
20.12.20
✎
14:47
|
Там,кстати,ещё и разделение по потокам должно быть,так как на сервере несколько потоков должны одну и ту же компоненту разделять,а так как там не оконный интерфейс,то размещение в одном потоке должно приводить к вызову через rpc всех методов,а они у windows через очередь сообщений,которая у серверного процесса если и есть,то работает криво.
|
|||
673
Serginio1
20.12.20
✎
14:56
|
(672) Там через окно созданной в потоке синхронизацию можно производить. В моих примерах http://catalog.mista.ru/1c/articles/417830/
для событий я использую if (SynchronizationContext.Current == null) SynchronizationContext.SetSynchronizationContext(new WindowsFormsSynchronizationContext()); Ну и аппартамент должен инициализирован. Но это вроде не касается AppDispatch, от то как раз и зовется в вызывающем потоке |
|||
674
Serginio1
20.12.20
✎
15:00
|
673+ Вообще то ВК может быть создана в одном потоке, а вызываться в другом. Могут быть проблемы.
|
|||
675
H A D G E H O G s
20.12.20
✎
15:01
|
||||
676
Serginio1
20.12.20
✎
15:02
|
Учитывая, что потоки скорее всего пул потоков
|
|||
677
Serginio1
20.12.20
✎
15:03
|
(675) Ок, спасибо!!!
|
|||
678
H A D G E H O G s
20.12.20
✎
15:03
|
Проблем с многопотоком нет. Ни с AppDispatch, ни с iEvent
|
|||
679
Serginio1
20.12.20
✎
15:06
|
(678) На шарпе были. Поэтому и делал WindowsFormsSynchronizationContext(). Проблема скорее всего была в аппартаметах и пуле потоков которые были непринициалмзированы
|
|||
680
Serginio1
20.12.20
✎
15:08
|
(678) Напомни пожалуйста откуда берется промежуточное имя после Addin.
|
|||
681
H A D G E H O G s
20.12.20
✎
15:10
|
(680) Сам задаешь в 1С
"Alcosphere" Возврат ПодключитьВнешнююКомпоненту(ПутьКМакетуСКомпонентой,"Alcosphere",ТипВнешнейКомпоненты.COM); |
|||
682
Serginio1
20.12.20
✎
15:11
|
(681) Спасибо!
|
|||
683
Serginio1
20.12.20
✎
15:40
|
(679) В Delphi ты можешь проинициализировать поток через CoInitialize CoUninitialize;
А в .Net нельзя, только создав поток вызвав SetApartmentState и затем запустить |
|||
684
Гений 1С
гуру
20.12.20
✎
16:08
|
Пример от 1С открылся, но сборка не работает:
Серьезность Код Описание Проект Файл Строка Состояние подавления Предупреждение MSB8003 Could not find WindowsSdkDir_71A variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number. AddInNative C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140_xp\Toolset.targets 36 Серьезность Код Описание Проект Файл Строка Состояние подавления Предупреждение MSB8003 Could not find WindowsSDKDir variable from the registry. TargetFrameworkVersion or PlatformToolset may be set to an invalid version number. AddInNative C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets 366 Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка C1083 Не удается открыть файл включение: windows.h: No such file or directory, AddInNative m:\fixin\1s8mytools\anviz биометрия\+\проект cs anvizcchex 2020\vncomps\vncomps\vncomp83\template\stdafx.h 9 в общем, решил собирать с нуля. Тем более, решил использовать на С++ не NATIVE, а COM, т.к. COM - универсальный, а Native - только для 1С. На сервере можно продублировать методы ВК в методы самой компоненты, в принципе, или пусть запускают из запускаемого по расписанию приложения, как раньше. |
|||
685
H A D G E H O G s
20.12.20
✎
16:28
|
(684) тебя просто подавила компонента.
|
|||
686
H A D G E H O G s
20.12.20
✎
16:34
|
Состояние подавления:
Обнаружен рукопоп, выполняю подавление. |
|||
687
Кирпич
20.12.20
✎
16:53
|
(686) У одной женщины тоже такое сообщение показало. Вызвали скорую - оказалось ковид.
|
|||
688
Кирпич
20.12.20
✎
16:54
|
(687) это к (684)
|
|||
689
Гений 1С
гуру
20.12.20
✎
17:05
|
Гм, создал шаблон ATL-DLL компоненты, получил ошибку: Серьезность Код Описание Проект Файл Строка Состояние подавления
Ошибка MIDL1005 cannot find C preprocessor cl.exe AnvizCCHEX m:\fixin\1s8MyTools\Anviz биометрия\+\Проект CS AnvizCCHEX 2020\AnvizCCHEX-CPP-COM\AnvizCCHEX\midl 1 |
|||
690
Кирпич
20.12.20
✎
17:19
|
(689) Сотри уже VS и живи как жил
|
|||
691
H A D G E H O G s
20.12.20
✎
17:22
|
Это именно те веселости взрослых ЯП, о которых я говорил выше, Сергей.
Их, кстати, почти не в умершей Дельфи и ущербном Паскале. |
|||
692
pereval
20.12.20
✎
17:22
|
(0) долго боролся с этой темой
Создание dll на C# для 1С 8 вот что получилось. пока черновик решения http://catalog.mista.ru/public/1318084/ |
|||
693
H A D G E H O G s
20.12.20
✎
17:23
|
VS подавляет Сергея всеми силами
Sergey's lives matter! |
|||
694
Кирпич
20.12.20
✎
17:26
|
(691) 0 бит. Единственное, что Сергей знает о программировании - это паскаль западло и Delphi умер.
|
|||
695
Гений 1С
гуру
20.12.20
✎
18:23
|
Путем плясок с бубном удалось собрать сборку динамической DLL (COM).
Но извраты еще те: Включаемые каталоги: $(VC_IncludePath);$(WindowsSDK_IncludePath);k:\Soft\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.20.27508\atlmfc\include\;k:\Soft\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\include\ Каталоги библиотек: $(VC_LibraryPath_x86);$(WindowsSDK_LibraryPath_x86);k:\Soft\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\atlmfc\lib\spectre\x86\;k:\Soft\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\;k:\Soft\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.16.27023\lib\onecore\x86\ Но еще надо разобраться, как добавить методы к моей DLL, за основу смотрю: http://catalog.mista.ru/public/115486/ |
|||
696
Гений 1С
гуру
20.12.20
✎
18:28
|
Гм, при добавлении ATL Simple Object ошибка fatal error RC1107
invalid usage; use RC /? for help по ходу RC не включена в PATH, счас буду искать, что это такое |
|||
697
H A D G E H O G s
20.12.20
✎
18:28
|
||||
698
Гений 1С
гуру
20.12.20
✎
19:12
|
(696) Пиздец, забавное решение проблемы: https://stackoverflow.com/questions/8912136/vc-compile-error-rc-fatal-error-rc1107-invalid-usage-use-rc-for
Теперь это работает, но не понятно, как добавить новые методы. В VC19 это выглядит несколько иначе, чем в VC10 тест = новый COMОбъект("AnvizCCHEX.Device"); |
|||
699
H A D G E H O G s
20.12.20
✎
19:18
|
(698)
Решение: Добавьте слэш в конце пути. Если слэш в конце пути уже есть - удалите его. Дым на небе, дым на земле Вместо людей машины Мертвые рыбы в иссохшей реке Зловонный зной пустыни |
|||
700
Гений 1С
гуру
20.12.20
✎
20:21
|
Не хочу реализовывать всю технологию ВК от 1С, хочу просто добавить свои методы, объект создается, но метод Test не видится:
тест = новый COMОбъект("AnvizCCHEX.Device"); тест.Test(); ЧЯДНТ? library AnvizCCHEXLib { importlib("stdole2.tlb"); [ uuid(e1ee7273-ab6d-4516-9492-251418282fc1) ] coclass CAnvizCCHEX { [default] interface ICAnvizCCHEX; }; }; [ object, uuid(AB634003-F13D-11d0-A459-004095E1DAEF), helpstring("ILanguageExtender Interface"), pointer_default(unique) ] interface ILanguageExtender : IUnknown { [helpstring("method Test")] HRESULT Test(); }; |
|||
701
Гений 1С
гуру
20.12.20
✎
20:31
|
(700) создание ВК интерфейс ILanguageExtender вот как он реализовал метод в самой компоненте (dll)?
|
|||
702
Ненавижу 1С
гуру
20.12.20
✎
20:42
|
(700) как минимум нужно чтобы interface был public
|
|||
703
Ненавижу 1С
гуру
20.12.20
✎
20:45
|
(701) чето тебя совсем жалко стало
|
|||
704
Гений 1С
гуру
20.12.20
✎
21:21
|
(702) http://catalog.mista.ru/upload/iblock/62a/03.02_12.png похоже, надо сделать как тут.
|
|||
705
H A D G E H O G s
20.12.20
✎
21:47
|
(700) Ну ты хоть теорию COM почитай, что такое интерфейсы, почему 1С не умеет их и про уникальный IDispatch и позднее связывание.
|
|||
706
Гений 1С
гуру
20.12.20
✎
21:48
|
Ошибка MIDL2269 procedures in an object interface must return an HRESULT : [ Procedure 'Test' ( Interface 'ICAnvizCCHEX' ) ] AnvizCCHEX M:\fixin\1s8MyTools\Anviz биометрия\+\Проект CS AnvizCCHEX 2020\AnvizCCHEX-CPP-COM\AnvizCCHEX\AnvizCCHEX.idl 19
А что, COM-функция не может возвращать значение? |
|||
707
Garykom
гуру
20.12.20
✎
21:49
|
(706) мдя
|
|||
708
H A D G E H O G s
20.12.20
✎
21:50
|
(706) Она возвращает в out параметре.
Читай RTFM, позорище. |
|||
709
Гений 1С
гуру
20.12.20
✎
21:54
|
(708) Несколько опередил тебя, все получилось.
Правда, без мастера, который якобы есть тут (http://catalog.mista.ru/public/115486/) (http://catalog.mista.ru/upload/iblock/c2a/03.02_9.png) не удобно, но все же: interface ICAnvizCCHEX : IDispatch { [id(1), helpstring("Тест")] HRESULT Test([out, retval] LONG* out_param); }; STDMETHODIMP CAnvizCCHEX::Test(LONG* out_param) { *out_param = 1; return S_OK; } |
|||
710
Гений 1С
гуру
20.12.20
✎
21:54
|
И в самой 1С код выводит 1:
тест = новый COMОбъект("AnvizCCHEX.Device"); рез = тест.Test(); Сообщить(рез); тест = 0; |
|||
711
Гений 1С
гуру
20.12.20
✎
21:55
|
Теперь поясните, кто знает, зачем писать это все по технологии ВК, если можно просто использовать Новый COMОбъект и его методы?
Или ВК для событий нужна? |
|||
712
Гений 1С
гуру
20.12.20
✎
21:56
|
COMОбъект то и на сервере, чай будет работать.
Гм, осталось приаттачить сюда DLL, разобраться с бардаком в Include, со сборками, ну за это можно и проплатить час консультанту. Разобраться с компиляцией под 32 и 64-разрядные платформы и все будет хорошо. |
|||
713
Гений 1С
гуру
20.12.20
✎
21:58
|
Еще кто бы подсказал, как отладочные алерты вызывать и сохраняется ли в объекте COM-сервера значение переменных между вызовами. И где и как эти переменные объявлять.
Ну там еще нужно со строками как в C++ работать, но это я уж нагуглю. ;-) |
|||
714
H A D G E H O G s
20.12.20
✎
22:00
|
(711) ВнешниеСобытия, Дескриптор окна от 1С, AppDispatch от 1С, возможность отказаться от изменения реестра, многопоточность из коробки (не знаю, че там у C#)
|
|||
715
H A D G E H O G s
20.12.20
✎
22:01
|
(713) Ахахаха.
Удачи, мистер Горски. Ты неделю сношаешься на проблемах, не стояших и яйца, а тут на C-строки замахнулся. |
|||
716
H A D G E H O G s
20.12.20
✎
22:03
|
(713)
"Еще кто бы подсказал, как отладочные алерты вызывать" - подключись отладчиком и не страдай херней "и сохраняется ли в объекте COM-сервера значение переменных между вызовами." ну а ты как думаешь? |
|||
717
Гений 1С
гуру
20.12.20
✎
22:12
|
(714) это мне не нужно, сделаю просто СОМ-обертку. Она будет и на сервере работать
|
|||
718
Гений 1С
гуру
20.12.20
✎
22:12
|
(716) в Басике сохранялись, протестировать можно
|
|||
719
Гений 1С
гуру
20.12.20
✎
22:18
|
(715) я, бы не назвал эти проблемы простыми. По срокам норм
|
|||
720
Ненавижу 1С
гуру
20.12.20
✎
22:42
|
C++ за 7 дней. Сказка просто!
|
|||
721
Serginio1
20.12.20
✎
22:48
|
(698) Ты хоть смотрел и запускал https://github.com/andrei-karpov/UniversalNativeWrapper
Там все на VS 2019 |
|||
722
Serginio1
20.12.20
✎
22:53
|
(711) Я об этом тебе с самого начала писал. А еще лет 18 назад. Нужен AppDispatch для вызова контекста 1С внутри компоненты, IAsyncEvent для обратных вызовов.
Тебе это не нужно, но ты почему то все время рвешься делать ВК. |
|||
723
Serginio1
20.12.20
✎
22:55
|
А на .Net то если ты заметил делать Com элементарно.
|
|||
724
Serginio1
20.12.20
✎
23:33
|
(714) Я же написал тебе в (683) Что в нативе ты можешь поток СОМ инициализироваь через CoInitialize CoUninitialize.
В .Net не можешь, но можешь запомнить контекст синхронизации например из основного потока 1С или создать свой поток с нужным аппартаментом и с обработкой очереди сообщений держать его . (713) На сервере все непредсказуемо. Но можешь сохранить ссылку в статическую переменную и если Dll не выгрузить будет жить. В .Net как раз удобно в том плане, что Dll не выгружается, пока рабочий процесс не горхнется |
|||
725
acht
20.12.20
✎
23:42
|
(724) > Dll не выгружается
А вот тут есть такая забавная особенность, что следующий вызов 1С может прилететь на другой экземпляр rphost, причем даже расположенный на другой машине. Поэтому толку от такого поведения, гм..., немного. Все живет ровно один серверный вызов. |
|||
726
H A D G E H O G s
21.12.20
✎
00:05
|
(725) По опыту все не так печально
|
|||
727
Serginio1
21.12.20
✎
00:13
|
(725) Ну зависит от того сколько у тебя rp хостов. При этом для каждого рп хоста будут свои данные, что то же иногда нужно.
Мало того, ты можешь держать словарь и по ключам создавать или возвращать нужный объект |
|||
728
acht
21.12.20
✎
00:42
|
(727) Чой-то какими-то буханкой и троллейбусом пованивать начинает.
|
|||
729
Serginio1
21.12.20
✎
00:58
|
(728) Ну смотрим как и что кэшируют в HTTP сервисах для хранения значений сессии и берем на вооружение.
https://habr.com/ru/company/ua-hosting/blog/278391/ |
|||
730
Garykom
гуру
21.12.20
✎
01:00
|
(729) А может не изобретать (728) и просто на сервере вместо ВК использовать http-сервисы?
|
|||
731
Garykom
гуру
21.12.20
✎
01:02
|
(730)+ и да есть желание и на клиенте их использовать, но пока придется через ВК http-сервер
А дополнительные "ВК" просто через этот "сервер" с 1С общаются Убираем к чертям проблему ваяния ВК ибо всего одна и может много разных внешних пользовать, написанных на чем угодно |
|||
732
Serginio1
21.12.20
✎
01:20
|
(730) Ну это зависит от задач. Иногда нужен контекст 1С и тд. Нужны определенные состояния не зависящие от сессии итд.
Иногда проще немного подкрутить , чем городить редисы, базы данных итд. с сериализацией объектов после их изменения. Конечно в том же ASP.NET Core многое автоматизировано. https://metanit.com/sharp/aspnet5/2.26.php Все зависит от входных параметров. В большинстве случаев ВК на сервере это в большинстве случаев выполнение статических методов, без сохранения состояния. Ну и если у тебя есть Http сервис то и ВК тебе не нужна, если конечно не gRPC |
|||
733
Гений 1С
гуру
21.12.20
✎
07:55
|
(721) да, кое-что оттуда я почерпнул, но в основном пл примеру с инфостарта где "с нуля" делают COM в VS сделал.
|
|||
734
Гений 1С
гуру
21.12.20
✎
07:56
|
(722) ок, я просто в этом мало шарю. В процессе пришло понимание
|
|||
735
Гений 1С
гуру
21.12.20
✎
08:32
|
(720) а за сколько надо? ;-)
|
|||
736
Гений 1С
гуру
21.12.20
✎
08:34
|
(732) (731) конкретно в моем случае на сервере компонента нужна, чтобы в регламентном задании подключаться к девайсам, считывать журнал. Именно в регламентном задании.
На прошлых версиях я порекомендовал клиентам, чтобы запускали клиента 1С по расписанию, чтобы он выполнял эти операции и это сняло остроту проблемы, но все же, почему бы и нет. Понятно, что на сервере никакие сохранялки состояний не нужны, COM используется просто как обертка над DLL |
|||
737
Гений 1С
гуру
21.12.20
✎
08:47
|
(733) вот там в комментах выложил zip-архив кода компоненты под Visual Studio 2019 с единственным методом Test.
http://catalog.mista.ru/public/115486/ Кстати, там пишут что VS забило на мастер COM в новых версиях... ;-) Поэтому у меня мастером и не вышло, пришлось вручную |
|||
738
Кирпич
21.12.20
✎
09:02
|
(737) Ну и сделал бы молча снова на Visual Basic. Чо страдал херней неделю.
|
|||
739
Ненавижу 1С
гуру
21.12.20
✎
09:16
|
Тебе же постфактум надо, сколько я понял?
А Анвиз пишет в тот же MSSQL данные. Тогда зачем вообще компонента, если можно тупо подключаться к БД? |
|||
740
Ненавижу 1С
гуру
21.12.20
✎
09:17
|
+(739) по крайней мере именно так мы прикрутили считыватель биометрии прихода/ухода к ЗУП
|
|||
741
Serginio1
21.12.20
✎
09:59
|
732+ Еще пример. Часто бывает, что на инициализацию объекта уходит долгое время, но последующие методы не меняют состояние объекта.
То есть один singleton обслуживает все запросы. То есть проще создать сом объект как обертка над этим синглтоном. Время на создание сом объекта небольшое |
|||
742
Гений 1С
гуру
21.12.20
✎
10:13
|
(739) Да, у меня есть чтение из SQL, но там есть такой забавный нюансик, мон шер ами.
SDK позволяет гонять отпечатки пальцев с замка на замок. Можно конечно один замок начинить всеми отпечатками, но тогда любой пройдет в любое место. Гораздо проще и вернее отпечатки собирать с помощью ANVIZ UBIO, а потом уже из 1С распределять их по замкам согласно правилам кто куда может ходить. Ну а раз и так используется 1С, почему бы ее и не научить читать журнал, чтобы не заморачиваться с SQL? Улавливаешь ход мысли? Бизнес не платил бы мне деньги, если бы можно было бы обойтись бесплатным встроенным софтом. Друзья, спасибо за помощь на первом этапе. Полученные знания зафиксировал в статье: https://geniy1s.ru/razyasnenie-vneshnih-komponent-1s/ Теперь вперед и с песней - к подлкючению DLL (желательно STATIC) и написанию полной ВК. |
|||
743
Гений 1С
гуру
21.12.20
✎
10:14
|
(738) VB не умеет в 64 разряда. Я особо не страдал. На неделе вел три проекта, один из них - этот. Обращался по мере наличия свободного времени.
|
|||
744
Garykom
гуру
21.12.20
✎
10:17
|
(742) у тебя статья вышла тупая но для таких же гениев пойдет
|
|||
745
Гений 1С
гуру
21.12.20
✎
10:18
|
(738)В принципе, можно было бы написать компоненту и на Visual Basic, но он не умеет генерировать 64-разрядные компоненты. А учитывая, что у 1С появилось 64-разрядное клиентское приложение, которое уже довольно широко используется, пришлось бы только ради ВК, написанной по 32-разрядной технологии, использовать 32-разрядную версию клиента 1С. Это неудобно, поэтому, как бы хорош не был VB, от него нужно отказаться.
Отказываться надо и по другой причине. VB больше не сопровождается, поэтому начинать на нем новые проекты просто не имеет смысла. Нужно идти «в ногу со временем». |
|||
746
Garykom
гуру
21.12.20
✎
10:18
|
(744)+ и с кучей ошибок и через предложение недочеты
|
|||
747
Гений 1С
гуру
21.12.20
✎
10:18
|
(744) Поэтому я и в топе на инфостарте, что умею объяснять сложное просто.
|
|||
748
Garykom
гуру
21.12.20
✎
10:19
|
(747) Ты в топе потому что на фоне тебя другие чувствуют себя гениями ))
|
|||
749
Гений 1С
гуру
21.12.20
✎
10:19
|
(746) Про какие ошибки речь? если укажешь, поправлю, но общий смысл и так хорош
|
|||
750
Гений 1С
гуру
21.12.20
✎
10:20
|
(748) серьезно? Под каким ты ником на ИС, где можно взглянуть на "гениальные" шедевры разработок?
|
|||
751
Garykom
гуру
21.12.20
✎
10:20
|
(749) "Удивительно, но на ИТС в разделе «Технология внешних компонент» 1С в своих примерах разработки ВК на Visual Studio выкладывает только проект Native-ВК и то под довольно древний релиз Visual Studio, поэтому просто так его не запустить."
Ты даже не понял что в примере от 1С есть и com и native и там же под android/ios и браузеры? |
|||
752
Garykom
гуру
21.12.20
✎
10:22
|
(751)+ "Но вот что удивительно, на сервере 1С можно использовать обычные COM-объекты."
только на сервере 1C под Windows и только если они зареганы на что нужны права и нужна правильная разрядность (32 не может 64 и наоборот - тут есть исключения но лучше не извращаться) |
|||
753
Garykom
гуру
21.12.20
✎
10:22
|
(752)+ "Правда, в такой реализации не будут доступны ВнешниеСобытия, дескриптор окна от 1С, AppDispatch от 1С, возможность отказаться от изменения реестра, многопоточность."
гыгыгыгы |
|||
754
Serginio1
21.12.20
✎
10:28
|
(736) Я к тому, что двигаться нужно постепенно. Ты уже понял, что создать ком обертку на C# как два пальца.
Сделал посмотрел. Если, что не понравилось берешься за суровый С++ и тратишь на него кучу времени. |
|||
755
Гений 1С
гуру
21.12.20
✎
10:32
|
(754) в чем суровость с++? Не как два пальца, благо я нашел готовую сборку под си шарп. А так бы телепался как с с++
|
|||
756
Serginio1
21.12.20
✎
10:32
|
(752) Ну для .Net создаешь одну сборку под Any CPU и регистрируешь в соответствующих ветках.
Другое дело, что 1С могла сама без регистрации запускать библиотеку по её ClassID |
|||
757
Ненавижу 1С
гуру
21.12.20
✎
10:33
|
(744) там весь блог шедевр
|
|||
758
Гений 1С
гуру
21.12.20
✎
10:33
|
(751) ты пропустил "под vs", скомпилить пример com от 1с мне не удалось, напрммер
|
|||
759
lEvGl
гуру
21.12.20
✎
10:34
|
https://geniy1s.ru/razyasnenie-vneshnih-komponent-1s/
зачем писать "статьи", которые говорят "я не понимаю, что к чему, но попробую вам объяснить" |
|||
760
Serginio1
21.12.20
✎
10:34
|
(755) Ты только три дня искал шаблон не мог даже загрузить проект! На шарпе у тебя все махом завелось
|
|||
761
Гений 1С
гуру
21.12.20
✎
10:34
|
(756) ну в моем случае я решил, что клиенту не нужен гимор под Net и лучше написать на С++
|
|||
762
Гений 1С
гуру
21.12.20
✎
10:35
|
(760) на шарпе просто нашелся готовый проект vs, а вот com писал с нуля на си++ (вчера)
|
|||
763
Гений 1С
гуру
21.12.20
✎
10:40
|
(759) я, разобрался и помогаю другим разобраться
|
|||
764
Ненавижу 1С
гуру
21.12.20
✎
10:42
|
(763) и почему не удалось "скомпилить пример com от 1с"?
какие объективные технические причины и тонкости? |
|||
765
Гений 1С
гуру
21.12.20
✎
10:47
|
(764) потому что он под CMAKE, а не VS. Я не спец в VS, CMAKE, мне нужно открыть шаблон, внести изменения и скомпилировать.
Проект от 1С в CMAKE не открылся: https://fixogram.ru/wp-content/uploads/2020/12/image-154.png?v=1608528680 Вникать в вопросы "почему" я не стал. Моя цель - написать ВК, а не становиться спецом по VS, CMAKE |
|||
766
Serginio1
21.12.20
✎
10:48
|
(761) А чем гемор? Regsvr32 против Regasm. Сделал на C# и посмотрел как работает. Если заказчика не устроило делаешь на С++.
(762) Вот при этом мои проекты тебя не устроили. Там все тоже самое. Но ты то начал с ВК, когда все тебе говорили, что достаточно Ком оберток. Но ты не слушаешь. А поверь я то хотел тебе помочь, в отличие от большинства здесь присутствующих. |
|||
767
lEvGl
гуру
21.12.20
✎
10:48
|
(763) что то в этом куске из статьи
>>>Отличие ВК, COM и Native противоречит этому >>>Поэтому я и в топе на инфостарте, что умею объяснять сложное просто. |
|||
768
Гений 1С
гуру
21.12.20
✎
10:49
|
(767) в чем противоречие, мосье? я не обязан знать все, зато я умею узнать все, что нужно. оК?
|
|||
769
Ненавижу 1С
гуру
21.12.20
✎
10:49
|
(765) "потому что он под CMAKE, а не VS"
Простите что? Потому что он Табурет, а не Зеленый? |
|||
770
Гений 1С
гуру
21.12.20
✎
10:50
|
(766) Зачем NET, если можно без NET. NET - лишнее звено, связанное с нежеланием писать на С++.
|
|||
771
Гений 1С
гуру
21.12.20
✎
10:51
|
(769) я в курсе, что CMAKE использует для компиляции VS, но настраивать CMAKE как-то непросто. Проще с нуля COM создать шаблон в VS и туда перенести. По крайней мере на сайте 1C я никаких инструкций по настройке CMAKE и VS не нашел.
|
|||
772
Ненавижу 1С
гуру
21.12.20
✎
10:51
|
>>на сервере 1С можно использовать обычные COM-объекты
>>в такой реализации не будут доступны ВнешниеСобытия, дескриптор окна от 1С какого окна на сервере? |
|||
773
lEvGl
гуру
21.12.20
✎
10:51
|
(768) давайте проще:
>>>Но ты то начал с ВК, когда все тебе говорили, что достаточно Ком оберток. в чем смысл этого предложения из (166) в чем разница если коротко |
|||
774
lEvGl
гуру
21.12.20
✎
10:53
|
+ 773 вопрос потому что в статье
>>>Отличие ВК, COM и Native три понятия перечислены через запятую, как "однородные члены предложения" |
|||
775
Garykom
гуру
21.12.20
✎
10:53
|
(765) >потому что он под CMAKE, а не VS
гыгыгыгы |
|||
776
Garykom
гуру
21.12.20
✎
10:54
|
(775)+ под винду пример com там совершенно обычный на vs
просто у них все в одном и да cmake там для линукса для натив а не ком |
|||
777
Serginio1
21.12.20
✎
10:56
|
756+ Загрузка COM объекта по его ClassID
Мало того, можно ClassID получить из библиотеки типов. Если есть tlb то можно вообще передать только путь к Dll v8: v8: Использование сборок .NET в 1С 7.x и 8.x |
|||
778
Garykom
гуру
21.12.20
✎
10:56
|
Даже интересно стало где ТС смог законсервироваться и на 10-15 лет проспать, то что многие другие проходили с ВК
|
|||
779
lEvGl
гуру
21.12.20
✎
10:58
|
читаю дальше, еще один кусок текста называется
>>>От ВК назад к COM в моем понимании ВК может быть СОМ или Натив, это не 3 однородных параллельных "сущности", а вторая и третья - разновидность первой |
|||
780
Ненавижу 1С
гуру
21.12.20
✎
11:00
|
(777) (778) (779) Напишите ему в блог, но боюсь в премодерацию попадете, как очернители
|
|||
781
Garykom
гуру
21.12.20
✎
11:00
|
(778)+ например Книга знаний: Написание внешних компонент для 1С на VB.NET и C#
2007 год это вроде последняя редакция, так то оно раньше было |
|||
782
Serginio1
21.12.20
✎
11:00
|
(770) Ну ты посмотри на название топика! Ты решил на C#, при этом не довел до конца. Затем решил на С++
А воз то и поныне там. Двигайся от простого к сложному. У тебя бы была уже работающая компонента. Ты бы набил все шишки, а затем переписывай на С++. Но ты выбрал самый сложный вариант. И наступишь на кучу граблей отладки итд. Я то это все проходил. |
|||
783
lEvGl
гуру
21.12.20
✎
11:01
|
(773) не 166 а (766)
|
|||
784
lEvGl
гуру
21.12.20
✎
11:06
|
(766) я тоже помогаю, надеюсь что это помогает. но делать это для людей, которые громко заявляют "Я гений, я умею объяснить сложное просто, я.. я .. я.." хочется добавить как из анекдота
- а мне папа велосипед вчера купил - а мне мама торт испекла, клюквенный - а мне... а я... а у меня... а я вам всем щас вобще пе.ды дам! |
|||
785
Serginio1
21.12.20
✎
11:07
|
(783) В том, что в ВК методы вызываются через ILanguageExtender, а в COM через IDispatch.
При этом в VS достаточно прописать атрибуты [ComVisible(true)] [ProgId("NetObjectToIDispatch45")] [ClassInterface(ClassInterfaceType.AutoDispatch)] [Guid("DFDADA57-B22C-4276-928A-8B91C9891FF1")] public class NetObjectToIDispatch45 и писать методы как обычные public object СоздатьОбъект(object Тип, params object[] argOrig) И они будут видны 1С при создании врап=новый COMОбъект("NetObjectToIDispatch45"); |
|||
786
lEvGl
гуру
21.12.20
✎
11:11
|
(785) это был вопрос к гению, на понимание разницы(
но основное отличие для программиста-пользователя таких разработок в другом |
|||
787
Гений 1С
гуру
21.12.20
✎
11:14
|
(772) буквоедство? там не говорится о сервере.
(773) а в чем суть претензии? Говорят много, доносится мало. Я вот объяснил в статье, почему достаточно COM, потому что сам разобрался. Но даже COM обертку в VS набросать не так просто. Это не VB, там много настроек надо делать. Просто так не компилируется почему-то. (774) прости, я не буквоед. Через зпт и ладно. (778) ну я пишу ВК от случки к случке. Это не моя специализация. ;-) (779) выключай буквоеда, грустно выглядит. (782) сложный для кого? Для меня или для клиента? С++ не так уж и сложен (я на нем год работал, если че). А вот клиенту париться с NET - зачем? (785) я не спорю, что Net проще, но в моей задаче он избыточен (повторяю в 10 раз). Моя COM-обертка над DLL сможет работать даже без NET, например, смысл напрягать тех, кто будет ее обслуживать на NET? |
|||
788
H A D G E H O G s
21.12.20
✎
11:18
|
||||
789
lEvGl
гуру
21.12.20
✎
11:19
|
в статье не объяснил, а добавил путаницы
|
|||
790
Гений 1С
гуру
21.12.20
✎
11:19
|
В общем, друзья, думаю, такая статья не повредит. Она как курс молодого бойца по ВК, разъясняет нюансы. Может подобная и есть в интернете, но я не встречал. Пусть будет.
|
|||
791
Гений 1С
гуру
21.12.20
✎
11:20
|
(789) путаницы в чем?
|
|||
792
lEvGl
гуру
21.12.20
✎
11:20
|
(190) то то, что повредит
(791) да ну вас, буквоедством заниматься |
|||
793
lEvGl
гуру
21.12.20
✎
11:21
|
да елки (790) и не 190
|
|||
794
Serginio1
21.12.20
✎
11:24
|
(787) Я уже написал в простоте написания и отладки. За час написал и отладил разные кейсы. Потом пиши на С++.
Посмотри сколько ты времени тратишь. Да и людям которые будут поддерживать, проще с C# разбираться, чем с С++. И про сложности с С++ я тебе тоже писал, ибо сам в этом купался. Претензия в том, что нужно слушать людей которые на этом собаку съели. В итоге ты приходишь к тому же самому только через неделю |
|||
795
Гений 1С
гуру
21.12.20
✎
11:29
|
(794) не, какая-то ложная генерализация. Но я подумаю, ок, C++ или C#, хорошо.
|
|||
796
Гений 1С
гуру
21.12.20
✎
11:30
|
(794) Скажи, а под какую версию NET тогда писать, чтобы стабильно было?
|
|||
797
Гений 1С
гуру
21.12.20
✎
11:32
|
и можно ли на C# статически прилинковать DLL-библиотеку, для которой я делаю обертку, хотя это не критично
|
|||
798
Garykom
гуру
21.12.20
✎
11:38
|
(797) а у тебя есть .lib для статической линковки?
|
|||
799
Serginio1
21.12.20
✎
11:40
|
(797) Да если ты видел обертки то там для методов есть атрибут [DllImport
Вот примеры использования нативных методов v8: v8: Использование сборок .NET в 1С 7.x и 8.x https://docs.microsoft.com/ru-ru/dotnet/api/system.runtime.interopservices.dllimportattribute?view=net-5.0 |
|||
800
Serginio1
21.12.20
✎
11:41
|
(796) Пиши под .Net Standard 2. Она будет видна и из .Net Framework и Core
|
|||
801
Гений 1С
гуру
21.12.20
✎
12:03
|
(798) есть только DLL
(799) ладно, буду писать COM-обертку (не ВК) на NET, так наверное, проще и быстрее. Да и легче потом дорабатывать, что для клиента тоже важно. И потом, NET счас везде есть. А COM-обертка будет и на сервере доступна. ОК. |
|||
802
Кирпич
21.12.20
✎
12:04
|
(797) Конечно можно. Динамические библиотеки(DLL) как раз придумали для того, чтобы линковать статически. И обязательно к C#
|
|||
803
Гений 1С
гуру
21.12.20
✎
12:04
|
(800) это как-то в настройках проекта VS задается?
|
|||
804
Ненавижу 1С
гуру
21.12.20
✎
12:06
|
(801) (803) о, будет второй сезон нашего сериала
|
|||
805
Гений 1С
гуру
21.12.20
✎
12:16
|
(804) так он изначально предполагался, мне же нужно создать законченный продукт.
|
|||
806
Кирпич
21.12.20
✎
12:17
|
(801) У клиентов сервер на Linux. Пиши web сервис на .NET5
|
|||
807
Кирпич
21.12.20
✎
12:18
|
Или NET Core
|
|||
808
Гений 1С
гуру
21.12.20
✎
12:22
|
(806) дык вряд ли.
(807) Ну вон говорят писать на Net Strandart 2.0, он будет под CORE виден. |
|||
809
Serginio1
21.12.20
✎
12:24
|
(806) Пусть сначала с COM разберется, а потом можно и на .Net 5 и Native ВК
|
|||
810
Garykom
гуру
21.12.20
✎
12:29
|
(808) ыыы
а потом у клиента окажется WinXP или W2k3 и придется "Net Strandart 2.0" в топку |
|||
811
Кирпич
21.12.20
✎
12:30
|
(808) Кстати. У китайцев для Linux есть SDK? Мне прислали только для windows чота
|
|||
812
Garykom
гуру
21.12.20
✎
12:31
|
(811) аналогично
|
|||
813
Гений 1С
гуру
21.12.20
✎
12:32
|
(810) не окажется.
|
|||
814
Serginio1
21.12.20
✎
12:33
|
(810) Можно сделать две DLL под .Net 3.5 и .Net Standard
|
|||
815
Гений 1С
гуру
21.12.20
✎
12:33
|
(810) Вообще любого может убить метеорит, но мы же на это не рассчитываем в повседневной жизни. Поэтому будем писать ВК для 80% клиентов. ;-)
|
|||
816
Garykom
гуру
21.12.20
✎
12:34
|
(815) 100% клиентов не нужна ВК.
Им подойдет внешний http сервис/сервер, с которым 1С будет через HTTPЗапрос общаться |
|||
817
H A D G E H O G s
21.12.20
✎
12:34
|
Компонента уже выложена в продажу? Где можно сделать заказ?
|
|||
818
Гений 1С
гуру
21.12.20
✎
12:35
|
(817) предзаказ хоть счас. ;-) 300$
|
|||
819
Garykom
гуру
21.12.20
✎
12:36
|
(816)+ этот сервер можно засунуть в макет (двоичные данные), запустить перед началом общения и шатдаунить командой (по http же) после
|
|||
820
Гений 1С
гуру
21.12.20
✎
12:36
|
(816) Админить HTTP сервер кто будет? Или ты про Zero-Adm-Server?
|
|||
821
Гений 1С
гуру
21.12.20
✎
12:37
|
Опять же порты всякие открывать для сервера. Столько много бубнов ради простейшей задачи. Прости, но выглядит как из Пушки по воробушкам.
|
|||
822
Serginio1
21.12.20
✎
12:37
|
(816) Угу разворачивать сервис, следить за ним. Это подход линуксоидов!
|
|||
823
Кирпич
21.12.20
✎
12:38
|
(818) В час?
|
|||
824
Garykom
гуру
21.12.20
✎
12:39
|
(820) не тупи
ЗапуститьПриложение("твой сервер.exe порт") |
|||
825
Garykom
гуру
21.12.20
✎
12:40
|
(821) тогда запускай из командной строки с параметрами и все
ну не умеешь ты ВК писать, писи консольку |
|||
826
Garykom
гуру
21.12.20
✎
12:41
|
(825)+ сохранил из 1С exe + файлик с данными (json), запустил "консольное.exe входящие.json исходящие.json" и прочитал результат
|
|||
827
lEvGl
гуру
21.12.20
✎
12:47
|
(815) копец, мы у себя в мухосранске делаем и вк и обертки и сервисы, а в Москве есть такие прогроммистэ, с клиентами, считающие себя нихера себе, что за шняга
|
|||
828
H A D G E H O G s
21.12.20
✎
12:48
|
Вообще ветка доставляет.
Надо посчитать, сколько раз Сергея развели на переобуться за неделю. |
|||
829
Serginio1
21.12.20
✎
12:49
|
(826) Чем это лучше внешнего сервера автоматизации?
Чем это удобнее новый ComОбъект? да и писать Com сервер проще чем Http сервис. Вспоминаем про бритву Оккама. Ну и двигаться надо постепенно. Сделал через Ком, что то пошло не так всегда можно переделать. Главное отладит на реальной работе |
|||
830
ДенисЧ
21.12.20
✎
12:56
|
"писать Com сервер проще чем Http сервис"
Иногда лучше жевать... |
|||
831
Garykom
гуру
21.12.20
✎
12:57
|
(829)
1. универсальней (вин, лин, мак) 2. проще у ТС даже консольного на C# или C++ еще нет куда ему ВК писать? |
|||
832
Garykom
гуру
21.12.20
✎
12:58
|
(830) если некто уже много раз делал Com сервер и ни разу даже не пробовал сваять Http сервис то хз
имхо http сервис проще сильно сваять |
|||
833
Гений 1С
гуру
21.12.20
✎
13:02
|
(827) Видимо что-то в Мухосранске не так у вас. Создайте сайт (хотя бы как мой Гений1С.ру), создайте репутацию (как я создал своими статьями на ИС), тогда и клиенты подтянутся.
|
|||
834
Гений 1С
гуру
21.12.20
✎
13:03
|
(828) а в этом что-то плохое? поиск правильного решения не всегда идет по прямой
|
|||
835
Гений 1С
гуру
21.12.20
✎
13:04
|
(831) дык мне понятно, как писать ВК, все норм. демки на C# & C++ тоже написаны. Опыт написания на VB6 есть. Расцениваю свои шансы на написание ВК как 100%
|
|||
836
lEvGl
гуру
21.12.20
✎
13:05
|
а что завели то про сервисы, у него же внешнее оборудование, если правильно понимаю, ему данные от девайса получить надо, а потом уже сервисами или напрямую в базу писать, а может тут же пользователю показывать надо. типа так "сервисом необходимое звено не реализуешь".
|
|||
837
dangerouscoder
21.12.20
✎
13:06
|
Напоминает притчу - Лебедь раком щуку..
Есть ВК уже написаная на VB хочешь портировать ее на C# а в чем проблема ? |
|||
838
lEvGl
гуру
21.12.20
✎
13:07
|
ну либо сервис виндовый должен быть из Services, такого типа. опрашивает оборудование, шлет в хттп сервис, но это уже совсем другая история
|
|||
839
Йохохо
21.12.20
✎
13:07
|
(837) не жаба змею?
|
|||
840
Garykom
гуру
21.12.20
✎
13:08
|
(837) в МКР
|
|||
841
dangerouscoder
21.12.20
✎
13:09
|
(836) ТЗ то у ТС как всегда нет..
делаем лопасти для вертолета из дерева а потом оказывается что надо был из композита и не лопасти а тяговый винт для самолета... |
|||
842
Garykom
гуру
21.12.20
✎
13:09
|
(836) его внешнее оборудование по tcp отвечает по своему протоколу
и есть dll которая умеет по этому протоколу по tcp и можно из нее методы вызывать |
|||
843
Serginio1
21.12.20
✎
13:10
|
(832) Чем проще? Я ваял. В Ком ты к обычному классу накидал атрибутов и вперед.
С HTTP куча настроек, сессии итд. Не проще. Хотя кто уже работал и с тем и другим это не сильно то и хлопотно. Но однозначно Com проще и в написании и в развертывании и поддержке. Но опять же КОМ ему знаком. Пусть двигается постепенно. |
|||
844
lEvGl
гуру
21.12.20
✎
13:10
|
(841) ну я (0) прочитал)
|
|||
845
Serginio1
21.12.20
✎
13:11
|
(843) Хотя лучше не HTTP а Вэб или gRPC
|
|||
846
Serginio1
21.12.20
✎
13:15
|
843 Все таки нужно время, что бы разобраться
https://metanit.com/sharp/aspnet5/23.1.php |
|||
847
dangerouscoder
21.12.20
✎
13:19
|
(842) есть драйвер устроства который работает по своему протоколу.
Обычно с этим дравером идет sdk с типовыми примерами.. Нужно для начала разобраться с этим а потом прикручивать к 1с (а есть смысл? ) ради формочки в самой 1ске с кнопкой загрузить? |
|||
848
H A D G E H O G s
21.12.20
✎
13:20
|
А что за dllку то он хечет?
|
|||
849
H A D G E H O G s
21.12.20
✎
13:20
|
хочет
|
|||
850
lEvGl
гуру
21.12.20
✎
13:21
|
(842) ну тут надо "архитектуру" нарисовать, где бд, где какой софт, с интерфейсом или без, где оборудование, интерфейсы и протоколы передачи данных и остальное, что бы понятно было, о чем речь идет, потому что хттп сервис при такой схеме
>>>и есть dll которая умеет по этому протоколу по tcp и можно из нее методы вызывать непонятно зачем крутить. прикрутить то можно и придумать куда тоже можно, но от среды исполнения никуда не деться, так 1с, а это приложение какое то еще делать (846) речь наверно не об этом |
|||
851
H A D G E H O G s
21.12.20
✎
13:21
|
Есть ссылка на эту dll ?
|
|||
852
lEvGl
гуру
21.12.20
✎
13:23
|
может она СОМовская?)))
|
|||
853
H A D G E H O G s
21.12.20
✎
13:25
|
(852) Да вряд ли. Сергей, конечно, тот еще кадр, но не до такой же степени.
|
|||
854
lEvGl
гуру
21.12.20
✎
13:30
|
шутка же конечно, но в каждой шутке есть доля чего то еще
|
|||
855
Garykom
гуру
21.12.20
✎
13:47
|
||||
856
Garykom
гуру
21.12.20
✎
13:48
|
(855)+ "tc-b_new_sdk.dll"
|
|||
857
Гений 1С
гуру
21.12.20
✎
13:48
|
(842) нюансик - протокол не документирован.
|
|||
858
Гений 1С
гуру
21.12.20
✎
13:49
|
(847) Выше написано, зачем к 1с прикручивается, чего не умеет типовой софт (пальчики)
|
|||
859
H A D G E H O G s
21.12.20
✎
13:55
|
Там, прежде чето скачать, надо 5 доков загрузить. Просто нахер.
|
|||
860
H A D G E H O G s
21.12.20
✎
13:55
|
Дайте нормальную ссыль
|
|||
861
Йохохо
21.12.20
✎
14:01
|
(855) https://anviz.ru/katalog/1c.html это?
|
|||
862
Кирпич
21.12.20
✎
14:10
|
||||
863
Кирпич
21.12.20
✎
14:10
|
Только там регаться надо
|
|||
864
Кирпич
21.12.20
✎
14:13
|
Ну или у русских контор просить. Их как грязи в интернете. И у всех есть своя интеграция с 1с
|
|||
865
Кирпич
21.12.20
✎
14:18
|
Там делов на полдня, чтобы сделать все варианты ВК и вебсервис в придачу :)
Но взять и сделать - это скучно и рейтинга на инфостарте не прибавит :) |
|||
866
Кирпич
21.12.20
✎
14:20
|
Предупреждаю! Вы запускаете китайское на свой страх и риск. Я дал ссылку, а вы сами решайте запускать или нет.
|
|||
867
Гений 1С
гуру
21.12.20
✎
14:21
|
(861) спасибо за ссылку, не знал про таковских. Ога, конкуренты. ;-) Только скрестить Убио с Замком еще не догадались. ;-)
|
|||
868
Гений 1С
гуру
21.12.20
✎
14:22
|
(866) а че, там без сырцов?
|
|||
869
Ненавижу 1С
гуру
21.12.20
✎
14:24
|
(867) конкуренты? да они сидят и ржут над тобой поди
|
|||
870
Кирпич
21.12.20
✎
14:24
|
(866) dll без
|
|||
871
Гений 1С
гуру
21.12.20
✎
14:25
|
(869) слушай, я бы с удовольствием отдал им эту тему, но они не могут то, что я делаю. Видимо, все же мелкий ИП чутка оперативнее реагирует на хотелки. ;-)
|
|||
872
Кирпич
21.12.20
✎
14:25
|
(867) Загугли. У тебя конкурентов штук 80
|
|||
873
Гений 1С
гуру
21.12.20
✎
14:26
|
(870) тогда в ЖПО.
(872) О, теперь я понимаю в чем мое УТП. ;-) |
|||
874
Ненавижу 1С
гуру
21.12.20
✎
14:26
|
(871) не могут вторую неделю тупить на форуме как компоненту создать? согласен
|
|||
875
Сияющий в темноте
21.12.20
✎
14:26
|
Так это для биометрии?
нафига вообще козе баян? если нужно сервер устройств биометрии и уже его обмен с 1с,а не подключение хрен знает чего,особенно на сервере,где даже событие не получить. |
|||
876
Кирпич
21.12.20
✎
14:26
|
(871) Ты не знаешь, что делают конкуренты. Не звизи. Вешай лапшу на уши своим клиентам. Здесь не надо.
|
|||
877
Кирпич
21.12.20
✎
14:30
|
(868) А у тебя типа с сырцами? :) Китайцы заценили твои актерские способности и подарили тебе сырцы?
|
|||
878
Гений 1С
гуру
21.12.20
✎
14:30
|
(876) Ну у меня несколько другой подход. Перефразируя одного мафиози: "Я дам вам столько функционала интеграции 1С и ANVIZ, сколько вы сможете УНЕСТИ". ;-) и все за одну цену.
|
|||
879
Кирпич
21.12.20
✎
14:32
|
(878) Короче, обычный обман. Капитализьм. Даже не осуждаю.
|
|||
880
Кирпич
21.12.20
✎
14:32
|
и демпинг
|
|||
881
Гений 1С
гуру
21.12.20
✎
14:34
|
(875) хахаха, прям дятловец в теме, хоть FAQ пиши, зачем нужна интеграция устройства с 1С, а не сервера с 1С. Почитай, там было, лень искать.
|
|||
882
Гений 1С
гуру
21.12.20
✎
14:36
|
(874) ну они может и не тупили, но почему-то создали не то, что востребовано. Гримассы капитализма. Вроде делают одно и то же, а заказывают ВК у ИП, странно.
(876) Не знаю, я не боюсь конкуренции в Anviz. Я знаю, что моя компонента классная, за клиентов врать не стану. Может и у них классная, когда у меня перестанут покупать, пойму, что клиенты опередили. ;-) (879) Какой обман? У меня все честно написано в КП |
|||
883
Кирпич
21.12.20
✎
14:42
|
(882) Про компоненту то чо рассказывать. Компонента здесь последнее дело. Это простейшая задача для программиста. Покупают же не из за компоненты, а потому что дешево и продавец не краснеет, когда врет про эксклюзив и неоспоримые достоинства.
|
|||
884
Гений 1С
гуру
21.12.20
✎
15:09
|
(883) Не совсем так. Во-первых продавец и разработчик имеет конкретный облик, т.е. персону, известную свое деловой репутацией.
К нему всегда можно обратиться, документация опять же и т.п. Можно всегда подточить и то что точат одному, пригодится другим. Я сперва тоже начинал только с чтения журнала проходов. Просто так звезды сошлись. |
|||
885
Гений 1С
гуру
21.12.20
✎
15:10
|
Рапортую об успехах.
Написал COM-объект на C#, проект простенький, из одного файла. Тестирую, работает: СИ = Новый СистемнаяИнформация(); Сообщить(СИ.ТипПлатформы); ИмяКласса = "AddIn.AnvizCCH"; Компонента = Новый COMОбъект(ИмяКласса); Сообщить(Компонента.Test); Вот код на C#: using System; using System.Runtime.InteropServices; using System.Windows.Forms; //using AnvizCCH; namespace AnvizCCH { // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [ComVisible(true), ProgId("AddIn.AnvizCCH")] //public class AnvizCCH : AddInLib.ILanguageExtender public class AnvizCCH { const string c_AddinName = "ExtTest"; public string test() { //Здесь внешняя компонента выполняет код функций. return "Test2"; } } } |
|||
886
H A D G E H O G s
21.12.20
✎
15:11
|
Будет забавно, когда эта бадяга начнет валиться с Access Violation.
Случайно. Невоспроизводимо. Неизбежно. Долог путь в легенду - за лигой лига, Что я здесь ищу, в лабиринте фраз? Я читаю мир по слогам, как книгу. Нынче это драма, а завтра фарс! |
|||
887
Гений 1С
гуру
21.12.20
✎
15:12
|
(886) С хера ли. ;-)
|
|||
888
Кирпич
21.12.20
✎
15:14
|
(884) Прям история успеха международной корпорации :)
|
|||
889
Кирпич
21.12.20
✎
15:17
|
(886) Ну это если китайцы там чота понатыкали не так. А так валиться там нечему.
|
|||
890
Serginio1
21.12.20
✎
15:18
|
(885) Гуид еще пропиши уникальный
[ClassInterface(ClassInterfaceType.AutoDispatch)] [Guid("DFDADA57-B22C-4276-928A-8B91C9891FF1")] В VS средства\Создать GUID |
|||
891
H A D G E H O G s
21.12.20
✎
15:19
|
(889) Ооо, там много мякоток.
Начиная от разных приколов со строками C++/BSTR, заканчивая структурками с полями разной размерности в зависимости от разрядности и места выделения памяти. |
|||
892
Кирпич
21.12.20
✎
15:21
|
(890) Щас Сирожка спросит "А что, GUID должен быть уникальный?"
|
|||
893
Кирпич
21.12.20
✎
15:24
|
(891) Да пофиг. Можно же в любой момент объявить кризис IT и заказать студенту.
|
|||
894
Кирпич
21.12.20
✎
15:28
|
+(893) Правда на пиво студенту может уйти вся выручка корпорации от предыдущих внедрений эксклюзивной биометрической системы.
|
|||
895
H A D G E H O G s
21.12.20
✎
15:31
|
Вот красочный пример, казалось бы несвязанных вещей
https://www.gunsmoker.ru/2018/05/random-crashes.html |
|||
896
Кирпич
21.12.20
✎
15:43
|
(895) Короче, на Delphi писать опасно
|
|||
897
Кирпич
21.12.20
✎
15:46
|
(895) Чота нифига непонятно как у него Count вдруг стало 5359, вместо нуля
|
|||
898
H A D G E H O G s
21.12.20
✎
15:46
|
(896) Короче, на всем писать опасно, что умеет или дает работать с памятью напрямую.
Особенно опасно со стеком. |
|||
899
Кирпич
21.12.20
✎
15:48
|
А. Оно там в конце inc(count) наверное
|
|||
900
H A D G E H O G s
21.12.20
✎
15:48
|
(897) Там под курсором inc
|
|||
901
Кирпич
21.12.20
✎
15:49
|
Ну Гений у нас такие сложные программы не пишет. Ему это не грозит.
|
|||
902
H A D G E H O G s
21.12.20
✎
15:50
|
Меня позабавила проверка
Если Высота*Ширина=0 Тогда Выход; Г-но код есть не только в 1С |
|||
903
Кирпич
21.12.20
✎
15:52
|
(902)А чо такого?. Ну сократили малость писанины
|
|||
904
Гений 1С
гуру
21.12.20
✎
15:57
|
Гм, столкнулся с тем, что не создается COM, если в конструктор добавляю обращение к DLL.
Если убираю, работает. Может убрать из конструктора и перенести в какой-нибудь специфичный класс Init, попробую. И еще, как убрать "AddIn.AnvizCCH" из памяти, а то приходится перезаходить из 1С, она блокирует этот DLL и не дает ее перекомпилить. namespace AnvizCCH { // Setting ComVisible to false makes the types in this assembly not visible // to COM components. If you need to access a type in this assembly from // COM, set the ComVisible attribute to true on that type. [ComVisible(true), ProgId("AddIn.AnvizCCH")] //public class AnvizCCH : AddInLib.ILanguageExtender public class AnvizCCH { //const string c_AddinName = "AnvizCCH"; public IntPtr anviz_handle; public string last_error; public string Test() { //Здесь внешняя компонента выполняет код функций. return "Test, now time: " + DateTime.Now; } public string Error() { //Здесь внешняя компонента выполняет код функций. return last_error; } public int Connect(string IP, int port) { //Здесь внешняя компонента выполняет код функций. int ret = AnvizNew.CCHex_ClientConnect(anviz_handle, Encoding.UTF8.GetBytes(IP), port); return ret; } public AnvizCCH() { try { //anviz_handle = AnvizNew.CChex_Start(); } catch(IndexOutOfRangeException ex) { last_error = ex.Message; } } } } |
|||
905
Гений 1С
гуру
21.12.20
✎
15:58
|
(890) прописал, использовал онлайн-конструктор ГУИД
|
|||
906
Кирпич
21.12.20
✎
16:00
|
(904) //как убрать "AddIn.AnvizCCH" из памяти
Сирожка, это .NET. Он нихера не выгружает без бубна. Пиши на С++ Serginio1 может знает. |
|||
907
Кирпич
21.12.20
✎
16:02
|
Хотя может просто Неопределено присвоить объекту в 1с
|
|||
908
Garykom
гуру
21.12.20
✎
16:02
|
||||
909
acht
21.12.20
✎
16:03
|
Скажите, а "Собираюсь писать ВК для 1С на C#. Часть 2" будет?
Ну как с проепаным ноутбуком? |
|||
910
Кирпич
21.12.20
✎
16:04
|
(909) Будет. Можешь смело продавать билеты. Вы там всем колхозом в кинотеатре смотрите?
|
|||
911
Кирпич
21.12.20
✎
16:06
|
catch(IndexOutOfRangeException ex) - это от китайцев скопипастил или сам придумал?
|
|||
912
H A D G E H O G s
21.12.20
✎
16:07
|
Сергей собирает ВК
https://youtu.be/8HZ4DnVfWYQ |
|||
913
Кирпич
21.12.20
✎
16:08
|
ту хелп ёр бизнес
|
|||
914
Гений 1С
гуру
21.12.20
✎
16:11
|
(911) это отседова: https://www.youtube.com/watch?v=A0lccpS6P8s&feature=youtu.be
|
|||
915
Гений 1С
гуру
21.12.20
✎
16:11
|
(909) будет, будет. ;-) я ж работаю
|
|||
916
Serginio1
21.12.20
✎
16:12
|
(904) Никак. Но зачем ты тестишь через 1С? Создай какой нибудь WinForms и отлаживайся напрямую
|
|||
917
Serginio1
21.12.20
✎
16:12
|
||||
918
Гений 1С
гуру
21.12.20
✎
16:13
|
(916) я так VB тестил. А как через WinForms?
|
|||
919
Ненавижу 1С
гуру
21.12.20
✎
16:13
|
так, конструкторы уже появились... это уже немножко ООП начинается, а говорили не будет порнографии
|
|||
920
H A D G E H O G s
21.12.20
✎
16:13
|
(918) Да ладно.
|
|||
921
H A D G E H O G s
21.12.20
✎
16:14
|
Я так понимаю, G1C открывает мыльную оперу, судя по (918)
|
|||
922
Кирпич
21.12.20
✎
16:14
|
(914) Я так понял, ты там ничо не смотрел.
|
|||
923
Кирпич
21.12.20
✎
16:15
|
или не понял
|
|||
924
Serginio1
21.12.20
✎
16:15
|
(918) В этом же проекте добавь еще один проект WiForms. Добавь в ссылки отлаживаемый проект . Кинь на форму кнопку, двойной щелчок и напиши вызов
|
|||
925
Кирпич
21.12.20
✎
16:16
|
(924) А в консольке нельзя чтоли?
|
|||
926
Serginio1
21.12.20
✎
16:17
|
||||
927
Serginio1
21.12.20
✎
16:18
|
(925) Фи консолька, это не путь визуальщика. Это любители С++ любят консольки.
Можно конечно |
|||
928
Гений 1С
гуру
21.12.20
✎
16:19
|
(924) Вызов типа создать COM-объект?
|
|||
929
Гений 1С
гуру
21.12.20
✎
16:19
|
О, вынес из конструктора обращение к Start, начало ругаться на DLL, хорошо.
А есть какой-нибудь метод, который вызывается после создания COM-объекта? Произошла исключительная ситуация (AnvizCCH): Не удается загрузить DLL "tc-b_new_sdk.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) {МодульУправляемогоПриложения(9)}: Сообщить("Connect:" + Компонента.Connect("10.10.42.60", 5010)); по причине: Произошла исключительная ситуация (AnvizCCH): Не удается загрузить DLL "tc-b_new_sdk.dll": Не найден указанный модуль. (Исключение из HRESULT: 0x8007007E) |
|||
930
Кирпич
21.12.20
✎
16:20
|
(929) Прочитай сообщение об ошибке еще раз
|
|||
931
Serginio1
21.12.20
✎
16:21
|
(928) Ты до вызова создать COM-объект отладь то, что хочешь сделать. А потом уже переноси на 1С.
Dll должна быть вместе с проектом. Добавь её в проект и проставь копировать в каталог |
|||
932
Гений 1С
гуру
21.12.20
✎
16:21
|
(930) кстати, в NET можно положить tc-b_new_sdk.dll рядом с AnvzCCH.dll, а не кидать ее в каталог винды, мило.
|
|||
933
Гений 1С
гуру
21.12.20
✎
16:22
|
(931) что значит "копировать в каталог"?
|
|||
934
Кирпич
21.12.20
✎
16:22
|
(933) мышкой перетащить
|
|||
935
Serginio1
21.12.20
✎
16:23
|
Или ручками в нужный каталог
(933) Ну в каталог где запускается приложение в зависимости Release Debug |
|||
936
Serginio1
21.12.20
✎
16:24
|
||||
937
Кирпич
21.12.20
✎
16:24
|
(932) "кстати, в NET можно положить tc-b_new_sdk.dll рядом с AnvzCCH.dll, а не кидать ее в каталог винды, мило."
Ахиреть просто. :) |
|||
938
Garykom
гуру
21.12.20
✎
16:28
|
(932) >кстати, в NET можно положить tc-b_new_sdk.dll рядом с AnvzCCH.dll, а не кидать ее в каталог винды, мило.
так то можно полный путь указать и положить куда угодно |
|||
939
Кирпич
21.12.20
✎
16:28
|
(932) После 20 лет в IT Гений обнаружил, что любая программа ищет dll сначала рядом с собой. Редкостный специалист.
|
|||
940
Кирпич
21.12.20
✎
16:35
|
+(939) вернее не программа ищет, а Windows
|
|||
941
H A D G E H O G s
21.12.20
✎
16:36
|
(939) Она ищет почти везде, не давая права на ошибку, но у нас Сергей.
https://www.gunsmoker.ru/2015/11/do-not-use-LoadLibrary.html |
|||
942
Гений 1С
гуру
21.12.20
✎
16:38
|
var ObjRef = Activator.CreateInstance("Addin.Anviz");
MessageBox.Show (ObjRef.Test, "Запуск ВК"); гм, а как создать COM-Объект в C#? Ошибка CS1503 Аргумент 1: не удается преобразовать из "string" в "System.Type". |
|||
943
Кирпич
21.12.20
✎
16:38
|
(941) Ждем новую статью от гения "Почему DLL не загружается"
|
|||
944
Кирпич
21.12.20
✎
16:42
|
(942) Посмотри в гугле
|
|||
945
Serginio1
21.12.20
✎
16:44
|
наверное new AnvizCCH.AnvizCCH(); если ты его к проекту подключил. Ты опять не читаешь, что я тебе пишу, а поступаешь так как сам понимаешь.
|
|||
946
Serginio1
21.12.20
✎
16:45
|
(942 ты хоть GUID то прописал?
|
|||
947
Serginio1
21.12.20
✎
16:49
|
(942) Мыши кололись
Type t = Type.GetTypeFromProgID(progID); object obj = Activator.CreateInstance(t); Но зачем тебе СО если ты можешь работать с типом напрямую? Все ухожу! |
|||
948
Гений 1С
гуру
21.12.20
✎
16:50
|
(945) в сборке сделал два проекта, один с формами, другой с COM
using AnvizCCH; - пишет, что не найдено пространство имен или сборка |
|||
949
Гений 1С
гуру
21.12.20
✎
16:51
|
Спасибо, получилось, просто добавил ссылку на проект COM в проект Форм.
|
|||
950
Гений 1С
гуру
21.12.20
✎
16:52
|
О, даже отладка работает, как мило. ;-)
|
|||
951
Кирпич
21.12.20
✎
16:53
|
(949) Слава богу. А то Serginio1 уже за сердце схватился
|
|||
952
Гений 1С
гуру
21.12.20
✎
17:00
|
Странно, включил dll в проект, но при обращении к функции DLL не находит VS эту DLL, а вот 1С находит. ЧЯДНТ?
|
|||
953
Кирпич
21.12.20
✎
17:01
|
linq
|
|||
954
Гений 1С
гуру
21.12.20
✎
17:03
|
(953) что linq?
|
|||
955
Кирпич
21.12.20
✎
17:04
|
(954) Это я Serginio вызываю
|
|||
956
Кирпич
21.12.20
✎
17:05
|
положи уже dll куда надо и не парься. В каталог, который есть в path, например
|
|||
957
H A D G E H O G s
21.12.20
✎
17:07
|
(956) "Что такое path" © Г1С
|
|||
958
Serginio1
21.12.20
✎
17:16
|
(952) Положи нативную Dll в исполняемый проект, что бы она копировалась в нужный катало
Добавь ссылку на проект твоей C# библиотеки в исполняемый проект https://docs.microsoft.com/ru-ru/visualstudio/ide/managing-references-in-a-project?view=vs-2019 |
|||
959
Serginio1
21.12.20
✎
17:17
|
||||
960
Garykom
гуру
21.12.20
✎
17:24
|
(952) бывает
|
|||
961
Garykom
гуру
21.12.20
✎
17:24
|
(957) ыыыыы
|
|||
962
Serginio1
21.12.20
✎
17:29
|
(962) Смотри каталог Bin исполняемого проекта, твоя dll должна быть там. По 32 и 64 dll я уже тебе ссылки давал
|
|||
963
Serginio1
21.12.20
✎
17:30
|
||||
964
Serginio1
21.12.20
✎
18:15
|
Почитай про статические конструкторы
https://docs.microsoft.com/ru-ru/dotnet/csharp/programming-guide/classes-and-structs/static-constructors |
|||
965
Ненавижу 1С
гуру
21.12.20
✎
18:34
|
(964) ты ему ещё про финализаторы расскажи
|
|||
966
Гений 1С
гуру
21.12.20
✎
18:44
|
(962) Положил в каталог, так она ругается: {"Была сделана попытка загрузить программу, имеющую неверный формат. (Исключение из HRESULT: 0x8007000B)"}
|
|||
967
H A D G E H O G s
21.12.20
✎
18:50
|
(966) Кхаб должен страдать
|
|||
968
Serginio1
21.12.20
✎
18:51
|
(966) У тебя наверняка с SDK есть демо на C#. Посмотри, что там и как.
Опять же читаем https://geekhow.ru/os/windows/0x8007000b/ Смотри какой у тебя процесс. Какой разрядности dll. |
|||
969
Гений 1С
гуру
21.12.20
✎
18:52
|
(968) я туда и 32 и 64 кидал DLL, Не алле. При этом в 1С все норм работает, только отлаживать сложно
|
|||
970
Гений 1С
гуру
21.12.20
✎
18:56
|
сукко, новый SDK асинхронный, а поставлена задача совместимости, значит, будем таймауты вешать.
|
|||
971
Ненавижу 1С
гуру
21.12.20
✎
18:59
|
(970) ты вот к чему этот набор слов сейчас произнёс?
|
|||
972
Кирпич
21.12.20
✎
18:59
|
Кинозал охнул
|
|||
973
Serginio1
21.12.20
✎
19:07
|
(969) У тебя наверняка 1С 32 разрядная и у тебя dll импорт к ней и прописан. У тебя отладчик в руках. Можешь поменять Any CPU на x86ю
Проблема в разрядности. Нужно всетаки читать, то что тебе дают. У Task есть свойство Result и метод Wait/ https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.tasks.task-1.result?view=net-5.0 |
|||
974
H A D G E H O G s
21.12.20
✎
19:08
|
(970) Там же есть callback-и, ведь да, да?
|
|||
975
Serginio1
21.12.20
✎
19:11
|
https://docs.microsoft.com/ru-ru/archive/msdn-magazine/2013/march/async-await-best-practices-in-asynchronous-programming
(974) Калбеки будут в другом потоке. |
|||
976
Serginio1
21.12.20
✎
19:13
|
||||
977
H A D G E H O G s
21.12.20
✎
19:20
|
// Из интервью Сергея, окрестности 2022 года.
https://youtu.be/aHLfyWfeATk |
|||
978
Кирпич
21.12.20
✎
19:24
|
(975) Не запутывайте пациента
|
|||
979
Кирпич
21.12.20
✎
19:29
|
(970) Ты где там увидел асинхронное, балда?
|
|||
980
Serginio1
21.12.20
✎
19:37
|
(979) Наверное async await если смотреть https://github.com/MxLabs/Anviz/blob/0a1750ef616b27d8f819eb5cd0c081d7db9f1827/Sample/Program.cs
То там есть и подписка на события и async await |
|||
981
Кирпич
21.12.20
✎
19:46
|
(980) Да нет. То не то.
|
|||
982
Гений 1С
гуру
21.12.20
✎
19:48
|
Коллеги, я написал необходимый минимум - подключился к устройству, получил с него время.
Как понимаете, это определенный этап оплаты, так что скоро пойду дальше. Но считаю, что все самое сложное позади. Большое спасибо всем, кто помогал, вольно или невольно. Спасибо Сергиньо, что все же убедил в C#, хороший язык, почти как Бейсик (или 1С). ;-) Удивило, что новое SDK асинхронное. Это, конечно, капец, ради совместимости с прошлыми версиями придется вводить тайм-ауты. Вот лог, да-да, та самая старая добрая трассировка: Time:2020.12.21.19:38:44 Windows x86 Test, now time: 21.12.2020 19:38:38 Start:Да Connect:1 Log:Enter wait event: 2 Wait UPD Event: 21.12.2020 19:38:38 Wait UPD Event: 21.12.2020 19:38:38 UPD Event: 2 wait for: 2 Enter wait event: 19 Wait UPD Event: 21.12.2020 19:38:39 Wait UPD Event: 21.12.2020 19:38:39 UPD Event: 19 wait for: 19 Get time Ret: 1 Enter wait event: 39 Wait UPD Event: 21.12.2020 19:38:40 Wait UPD Event: 21.12.2020 19:38:40 UPD Event: 39 wait for: 39 OK Time Event: Get time: 2020.12.21.19:38:44 Кто знает, как в Шарпе поставить паузу, я ставлю в секунду, но, судя по логу не работает: System.Threading.Thread.Sleep(1000); И еще: как бы в классе разместить постоянный буфер динамический, чтобы постоянно его не таскать по методам: IntPtr pBuff; int len = 32000; pBuff = Marshal.AllocHGlobal(len); Просто IntPtr pBuff сделать приватным членом класса и инициализировать в конструкторе? |
|||
983
Гений 1С
гуру
21.12.20
✎
19:50
|
(979) да, там асинхронка, кури метод CChex_Update. Он возвращает событие из очереди.
После успешного вызова метода событие может еще туда быть не помещено, нужно ждать. Поэтому и тайм-аут. я ж тебе лог в (978) выслал |
|||
984
Гений 1С
гуру
21.12.20
✎
19:52
|
(973) ну я еще побьюсь, все же удобно в VS отладчике отлаживать. Но если не победю, то будет старая-добрая трассировка, я ею и в VB6 спокойно пользовался.
|
|||
985
Garykom
гуру
21.12.20
✎
19:54
|
(983) асинхронка это не таймаут, это когда передаешь адрес свой функции и ее дернут когда будет готово
Callback короче |
|||
986
Serginio1
21.12.20
✎
19:57
|
(985) async await и event, ContinueWith это немного большее чем примитивный Callback.
|
|||
987
Гений 1С
гуру
21.12.20
✎
20:01
|
(985) ну все может быть. Но в общем, разрыв контекста выполнения происходит, да.
|
|||
988
Serginio1
21.12.20
✎
20:04
|
Во почитай https://docs.microsoft.com/ru-ru/dotnet/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern
https://docs.microsoft.com/ru-ru/dotnet/standard/asynchronous-programming-patterns/consuming-the-task-based-asynchronous-pattern#interleaved-operations Ты можешь использую TaskCompletionSource вернуть задачу и поставить её на Result, а когда событие прийдет вызвать TrySetResult нечто подобное я делал для Cef CEF, Angular 2 использование событий классов .Net Core https://habr.com/ru/post/321452/ |
|||
989
Garykom
гуру
21.12.20
✎
20:06
|
(986) в конечном итоге все сводится к коллбэкам
просто синтаксический сахар наворочен |
|||
990
Serginio1
21.12.20
✎
20:06
|
Ну или проще использовать waithandle эвенты
https://metanit.com/sharp/tutorial/11.6.php |
|||
991
Serginio1
21.12.20
✎
20:09
|
(989) Этот синтаксический сахар такой огромный, что в 1С только сейчас до async await доросли. Там и ConfigureAwait и много чего.
В итоге все сводится не к одному вызову а огромной куче вызовов, создания замыкания и автомата |
|||
992
Гений 1С
гуру
21.12.20
✎
20:13
|
(990) у меня этого слава богу нет.
|
|||
993
Кирпич
21.12.20
✎
20:18
|
(983) Ну да. Получается асинхронно. В примере по таймеру выгребаются все сообщения и обрабатываются. Все кишки в одном методе. Китайцы.
|
|||
994
Гений 1С
гуру
21.12.20
✎
20:20
|
(993) хоть указатель на функцию юзай. ;-)
|
|||
995
Кирпич
21.12.20
✎
20:23
|
Мож оно там где нибудь переключается на синхрон
|
|||
996
Serginio1
21.12.20
✎
20:27
|
(994) AutoResetEvent waitHandler.WaitOne(); ContinueWith waitHandler.Set();
|
|||
997
Гений 1С
гуру
21.12.20
✎
20:27
|
Учитывая, что ветка становится длинной и подходит к "логическому концу", резюмирую: вот благодаря таким задачам я понимаю, что я - "победитель по жизни". Взять абсолютно чуждую мне задачу, найти ресурсы и помощь, разобраться, решить и в конечном итоге прийти к результату, попутно написав пару статей, чтобы другим проще было топать по проторенному пути.
Мой фирменный "Гений-Стайл". |
|||
998
H A D G E H O G s
21.12.20
✎
20:33
|
||||
999
Кирпич
21.12.20
✎
20:37
|
(997) Лучше бы ты разобрался молча, написал бы свои статьи (не знаю кто эту пургу читает), а не вываливал на весь свет своё колхозное величие и некомпетентность.
|
|||
1000
Кирпич
21.12.20
✎
20:38
|
the end
|
|||
1001
H A D G E H O G s
21.12.20
✎
20:38
|
Он еще вернется.
|
|||
1002
Гений 1С
гуру
21.12.20
✎
20:41
|
(999) завидую людям, которые ощущают себя во всем компетентными. ггг
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |