Имя: Пароль:
1C
1С v8
Можно ли использовать библиотеки без COM-сервера?
0 Гений 1С
 
гуру
20.12.12
17:33
Есть некая библиотека (работа с базой данных).
Можно ли ее подключить в 1С без регистрации COM-сервера?
То бишь чтобы не делать лишних телодвижений в реестре (для этого нужны права, а regsvrex.exe не помогает (обычная win7 под пользователем, без повышения прав).

Просто есть некие методы в библиотеке (или внешней компоненте), просто их нужно вызвать?
1 Гений 1С
 
гуру
20.12.12
17:39
а в ответ - тишина. неужели такая банальная возможность не реализована без гиммора с COM-сервером?
2 ДенисЧ
 
20.12.12
17:40
а native ВК нужно регистрировать?
Атак - dynawrap есть...
3 Гений 1С
 
гуру
20.12.12
17:41
(2) вот и я хотел бы про native ВК узнать.
dynawrap - то еще извращение, на быстродействии перекомпоновка вызовов фиг еще знает как скажется.

Неужели нельзя нормально, по человечески?
4 sapphire
 
20.12.12
17:41
(2) Dynwrapper в x64 вроде плохо пашет
5 Гений 1С
 
гуру
20.12.12
17:41
мы могли бы переписать DLL на ВК, если бы можно было без COM-сервера.
6 sapphire
 
20.12.12
17:42
(3) Что узнать-то? Native специально сделаны что б не регистрировать их
7 ДенисЧ
 
20.12.12
17:42
(3) ну так узнавай... ИТС в руки и читай.
8 sapphire
 
20.12.12
17:42
(7) Это же Гений... Ден, ты чо?
9 sapphire
 
20.12.12
17:43
(7) Мож ему инжектировать свою библиотеку в процесс 1С? :))
10 ДенисЧ
 
20.12.12
17:43
(8) ну... Я думал, он может к концу света одумается и возьмётся за ум... :-)
11 ДенисЧ
 
20.12.12
17:43
(9) А ты затейник... :-)
12 Гений 1С
 
гуру
20.12.12
17:50
(6) серьезно? просто у меня человек сейчас займется. Хотелось бы, чтобы не впустую. Native без ВК работает?
13 Гений 1С
 
гуру
20.12.12
17:53
(8) вместо того, чтобы кичиться, взяли бы и сказали - да или нет.
14 Гений 1С
 
гуру
20.12.12
17:54
15 sapphire
 
20.12.12
17:54
(12) Гений, серьезно, раз ты так себя позиционируешь, то дай своему сотруднику диск ИТС и скажи слово "Необходимо написать/оформить такую-то компоненту используя 1С Native API, все необходимое можешь найти на диске в \1CIts\EXE\VNCOMPS\VNCOMP83"
16 sapphire
 
20.12.12
17:54
(14) На ИС есть шаблон компоненты для Delphi/Lazaus
17 sapphire
 
20.12.12
17:54
Lazarus
18 Гений 1С
 
гуру
20.12.12
17:54
(15) я же попросил коротко - да или нет.
а на 81 была Native IP?
19 Гений 1С
 
гуру
20.12.12
17:55
т.е. NATIVE
20 ДенисЧ
 
20.12.12
17:55
(15) в твоей фразе все, после запятой - лишнее
21 H A D G E H O G s
 
20.12.12
17:55
(5) Можно делать обычные ВК без регистрации под правами админа.
Гений как всегда, дятлит.
22 Гений 1С
 
гуру
20.12.12
17:55
(20) мдя.
23 Гений 1С
 
гуру
20.12.12
17:55
(21) Как?
24 H A D G E H O G s
 
20.12.12
17:56
25 acsent
 
20.12.12
17:57
в 81 нельзя использовать
26 Гений 1С
 
гуру
20.12.12
17:58
(25) вот это уже по теме.
27 Serginio1
 
20.12.12
18:55
Можешь используя DllGetClassObject
http://forum.developing.ru/showthread.php/16854-СОМ-объект-без-регистрации-в-реестре

Но при этом сам загрузчик ты должен зарегистрировать.
28 Гений 1С
 
гуру
20.12.12
20:10
(27) без адм. прав и в 81 взлетит?
29 Serginio1
 
21.12.12
11:54
(28) Да взлетит.DLL должна лежать в в доступном месте.
Загрузчик получает на входе Путь к DLL, а возвращает IDispatch. Сделай её на NET и скомпилируй под AnyProcessor.
На Delphi это выглядит так
Function GetIdispatch(Patch:String)
var
      DllGetClassObject: function(const CLSID, IID: TGUID; var Obj): HResult; stdcall;
      ClassF: IClassFactory;
      res:Idispatch$
      LibHandle: Integer
.............................
begin
      LibHandle:= LoadLibrary(Patch);
      DllGetClassObject:= GetProcAddress(LibHandle, 'DllGetClassObject');
      DllGetClassObject(CLSID_XVID, IClassFactory, ClassF);
      ClassF.CreateInstance(nil, IID_IDispatch, res);
result:=res;
 end;

Давно не брал я в руки Delphi.

Для Шарпа смотри здесь
http://www.java2v.com/Open-Source/CSharp/Content-Management-Systems-CMS/Kooboo/EPocalipse/IFilter/ComHelper.cs.htm
30 Elisy
 
21.12.12
12:06
(0) Для C# была схожая задача:
http://forum.infostart.ru/forum26/topic75576/