|
v7: COM-объект и 8 в 7 | ☑ | ||
---|---|---|---|---|
0
ДенисЧ
18.05.15
✎
15:26
|
Есть некий ком-объект. В 8ке созлдаётся через Новый COMОбъект("имя").
Делаю в 77 СоздавтьОбъект("имя") - не создаётся "неудачная попытка создания объекта" Что ему не хватает? Все делается на одной машине, то есть регистрация одна для всех |
|||
1
AlexYurg
18.05.15
✎
15:29
|
Попробуй вместо СоздатьОбъект CreateObject.
Иногда помогало в 7-ке. |
|||
2
ДенисЧ
18.05.15
✎
15:29
|
неа...
|
|||
3
AlexYurg
18.05.15
✎
15:30
|
А что за объект-то, если не секрет?
|
|||
4
ДенисЧ
18.05.15
✎
15:30
|
Addin.UCS_EFTPOS
) Для работы с терминалом оплаты по картам |
|||
5
aka AMIGO
18.05.15
✎
15:32
|
(4) а библиотека есть в BIN?
|
|||
6
ДенисЧ
18.05.15
✎
15:33
|
(5) А файлик зарегистрирован по полному пути. Это же не ВК, а просто ком-объект (теоретически)
|
|||
7
NikVars
18.05.15
✎
15:37
|
(6) Описание встроенного языка 7.7
Глава 40 Связь с внешними приложениями посредством механизмов DDE и OLE Automation Про Ком - тишина. |
|||
8
AlexYurg
18.05.15
✎
15:37
|
Откуда уверенность, что он вообще с 7-кой должен работать?
В описании сказано, что совместим с 1С 8.2 и 8.3, а про 7.7 - ни слова. |
|||
9
ДенисЧ
18.05.15
✎
15:38
|
(7) То есть ADODB работать не должно?
А ведь работает, что удивительно... |
|||
10
ДенисЧ
18.05.15
✎
15:38
|
(8) Уверенности нет. Есть вопрос - чего ему не хватает? Почему ком-объект не работает? Я же не пытаюсь ВК грузить...
|
|||
11
AlexYurg
18.05.15
✎
15:40
|
Спроси у разработчиков - вдруг ответят.
Ты же не один на 7-ке работаешь. |
|||
12
NikVars
18.05.15
✎
15:41
|
(9) В 7.7 поддержка только OLE и DDE. Технология COM поновее будет.
|
|||
13
ДенисЧ
18.05.15
✎
15:42
|
(12) ещё раз - ADODB - не com-объект?
|
|||
14
NikVars
18.05.15
✎
15:44
|
(13) Хз...
"Одну из возможностей запуска и управления внешними приложениями дает механизм OLE Automation. Встроенный язык системы 1С:Предприятие поддерживает технологию управления объектами OLE. Непосредственно при помощи операторов языка можно управлять, например, программами, входящими в Microsoft Office." Если оно ADODB умеет работать через OLE Automation, то будет работать. П.С. Я про типовые возможности. |
|||
15
aka AMIGO
18.05.15
✎
15:49
|
(0) буковки оператора в ("Имя") тщательно выверил? :)
|
|||
16
ДенисЧ
18.05.15
✎
15:51
|
(15) Копи-паст и разботающего 8шного кода
|
|||
17
aka AMIGO
18.05.15
✎
15:51
|
(16) понятно.. :(
|
|||
18
ДенисЧ
18.05.15
✎
15:52
|
Кстати, в экселе я этот объект тоже вижу...
|
|||
19
sapphire
18.05.15
✎
15:55
|
(18) а VB-скрипт создает объект?
|
|||
20
ДенисЧ
18.05.15
✎
15:57
|
(19) Я не умею вб-скрипт ((((
Примерчик можешь показать? |
|||
21
sapphire
18.05.15
✎
15:58
|
(18) Смотри, скорее всего компонента - синглетон, т.е. если кем-то уже создан экземпляр и не выгружен, то создать новый нельзя. Аналогично ФР на компоте :)
|
|||
22
floverr
18.05.15
✎
15:59
|
У меня так вот работает, сейчас, как раз сижу обработку по импорту документов из 1с 8.3 в 1с 7.7 делаю.
Приемник=CreateObject("V83.ComConnector"); Оля = Приемник.Connect(СтрокаПодключения); Запрос = Оля.NewObject("Запрос"); |
|||
23
sapphire
18.05.15
✎
15:59
|
(20) Посмотри небось компонент уже запущен
|
|||
24
NikVars
18.05.15
✎
15:59
|
||||
25
ДенисЧ
18.05.15
✎
16:00
|
(23) Всё позакрывал уже...
|
|||
26
sapphire
18.05.15
✎
16:03
|
(25) При закрытых создает?
|
|||
27
ДенисЧ
18.05.15
✎
16:04
|
(26) Я бы тему закрыл бы уже...
|
|||
28
ДенисЧ
18.05.15
✎
16:04
|
Может, ещё комп перезагрузить...
|
|||
29
Serginio1
18.05.15
✎
16:06
|
(0) Судя по Addin.UCS_EFTPOS это ВК
|
|||
30
ДенисЧ
18.05.15
✎
16:06
|
(29) в 8ке (ещё раз) создаётся через новый COMОбъект()
|
|||
31
sapphire
18.05.15
✎
16:07
|
(30) Но ВК может загружаться и это никак не противоречит.
|
|||
32
ДенисЧ
18.05.15
✎
16:08
|
(31) ВК там отдельным вариантом подключается, через подключитьВнешнююКомпоненту() и просто Новый().
Хотя да, файл один. |
|||
33
sapphire
18.05.15
✎
16:10
|
(32) создай текстовый файл с расширением vbs
Текст ниже: Set D=WScript.CreateObject("Excel.Application") Echo "Удачно" ткни в него мышой, если квакнет "Удачно" значит COM. |
|||
34
sapphire
18.05.15
✎
16:11
|
вместо Echo - MsgBox
|
|||
35
ДенисЧ
18.05.15
✎
16:14
|
Не квакает (((
|
|||
36
sapphire
18.05.15
✎
16:15
|
(35) Чаво говорит-то?
|
|||
37
ДенисЧ
18.05.15
✎
16:16
|
(36) "Не удаётся найти класс программируемых объектов"...
Полез в реестр... |
|||
38
sapphire
18.05.15
✎
16:17
|
(37) Можешь не лезть.
Путь к библиотечке знаешь? |
|||
39
ДенисЧ
18.05.15
✎
16:17
|
(38) Разумеется ))
|
|||
40
aka AMIGO
18.05.15
✎
16:19
|
||||
41
sapphire
18.05.15
✎
16:19
|
(37)
try ПыцПыц=CreateObject("Addin.UCS_EFTPOS"); Except ЗагрузитьВнешнююКомпоненту(Путь); EndTry; try ПыцПыц=CreateObject("Addin.UCS_EFTPOS"); Сообщить("Успешно"); Except EndTry; |
|||
42
sapphire
18.05.15
✎
16:20
|
(40) Оно помогало загружать ВК? :)
|
|||
43
aka AMIGO
18.05.15
✎
16:20
|
(40) с помощью этой штуки я читаю Excel-евский файл, в отсутствие MSOffice на компе.. (Правда, есть LibreOffice)
|
|||
44
sapphire
18.05.15
✎
16:21
|
(43) ЫЫЫ:)
Запрещен по-defaultу на серверах начиная с W2k8 |
|||
45
aka AMIGO
18.05.15
✎
16:23
|
(42) да не, не помогает :))
(44) у нас, видимо, есть.. сисадмины блюдут то, что, по их мнению, неконтрафактно.. Мне-так работает, и ладно.. |
|||
46
aka AMIGO
18.05.15
✎
16:25
|
ЗЫ. ДенисЧ , извини за ОФФ..
|
|||
47
ДенисЧ
18.05.15
✎
16:26
|
(40) Не помогает, не создаётся... (
|
|||
48
aka AMIGO
18.05.15
✎
16:32
|
(47) Из терминала должна поступить сумма и реквизиты плательщика?
в 8-ке создается? А может .. может читать инфу в 8-ку, и тут-же переписывать в 77 ?.. на грани, конечно, понимаю, но раз в 7-ке не работает, это может быть выходом? |
|||
49
H A D G E H O G s
18.05.15
✎
16:32
|
(47) Ну давай я подключусь, посмотрю
|
|||
50
ДенисЧ
18.05.15
✎
16:34
|
(48) такой вариант - не вариант...
|
|||
51
ДенисЧ
18.05.15
✎
16:37
|
(49) Хочешь, я тебе скину файлик - у себя посмотри...
|
|||
52
H A D G E H O G s
18.05.15
✎
16:38
|
(51) Давай [email protected]
|
|||
53
ДенисЧ
18.05.15
✎
16:41
|
(52) улетело
|
|||
54
Serginio1
18.05.15
✎
16:41
|
ИмяВК="Addin.UCS_EFTPOS";
ок=ПодключитьВнешнююКомпоненту(ИмяВК); Если ок=0 Тогда Сообщить("Не удалось подключить компоненту "+ИмяВК); КонецЕсли; net =СоздатьОбъект(ИмяВК); |
|||
55
ДенисЧ
18.05.15
✎
16:42
|
(54) в 77 нет ПодключитьвнешнююКомпоненту(0
|
|||
56
Serginio1
18.05.15
✎
16:46
|
(55) Хорошо ЗагрузитьВнешнююКомпоненту(Путь)
|
|||
57
Serginio1
18.05.15
✎
16:47
|
ЗагрузитьВнешнююКомпоненту(Имя.DLL)
|
|||
58
ДенисЧ
18.05.15
✎
16:49
|
(56) Ошибка при создании объекта из компоненты отсутствует CLSID
|
|||
59
Serginio1
18.05.15
✎
16:51
|
(58) Значит не ВК.
|
|||
60
ДенисЧ
18.05.15
✎
16:52
|
(59) Но в то же время в 8ке как ВК оно подключается.
|
|||
61
aka AMIGO
18.05.15
✎
16:53
|
(58) Друже, ты на компе - администратор?
|
|||
62
ДенисЧ
18.05.15
✎
16:53
|
(61) Натюрлихь )
|
|||
63
aka AMIGO
18.05.15
✎
16:54
|
(62) тады капут :)
|
|||
64
ДенисЧ
18.05.15
✎
16:54
|
Может, ещё поможет...
Вин 8.1 проф 64бит... |
|||
65
ДенисЧ
18.05.15
✎
16:55
|
Надо дома будет на старой доброй ХП попробовать ещё...
|
|||
66
Бубка Гоп
18.05.15
✎
16:57
|
(58) вот тут куча советов по этому поводу, авось что поможет
https://forum.infostart.ru/forum10/topic8079/ |
|||
67
aka AMIGO
18.05.15
✎
16:57
|
64бит - можно сделать стойку..
у меня 7-ка проф тоже 64бит, удружили.. помучился я с ней с месяц.. |
|||
68
Serginio1
18.05.15
✎
16:58
|
(55) проверил для интереса
Процедура ТестПодключитьВнешнююКомпоненту() ИмяВК="Addin.AddInFromITypeInfo"; ок=ПодключитьВнешнююКомпоненту(ИмяВК); Если ок=0 Тогда Сообщить("Не удалось подключить компоненту "+ИмяВК); Иначе Сообщить(ок); КонецЕсли; net =СоздатьОбъект(ИмяВК); КонецПроцедуры // ТестПодключитьВнешнююКомпоненту() работает |
|||
69
ДенисЧ
18.05.15
✎
17:01
|
(68) Ошибка при создании объекта из компоненты <Неизвестная компонента> (отсутствует CLSID)
|
|||
70
Serginio1
18.05.15
✎
17:14
|
(69) Я к тому, что в 77 нет ПодключитьвнешнююКомпоненту(
|
|||
71
Serginio1
18.05.15
✎
17:16
|
А ты в реестре искал Addin.UCS_EFTPOS ?
|
|||
72
Kvant1C
18.05.15
✎
17:17
|
(0)Предположение: Может в 8-ке объект создается на сервере, где com-объект установлен, а в 77 на клиенте, где он отсутствует.
|
|||
73
ДенисЧ
18.05.15
✎
17:19
|
(71) Да. Он там есть
(72) Всё локально и файлово. |
|||
74
trdm
18.05.15
✎
17:20
|
(72) +1
|
|||
75
ДенисЧ
18.05.15
✎
17:20
|
(72) (74) Ну вы меня совсем-то за идиота не держите... ))
|
|||
76
trdm
18.05.15
✎
17:20
|
Как запускается 8-ка и как запускается 7-ка.
Посмотрите под какими юзерами, может права разные. |
|||
77
ДенисЧ
18.05.15
✎
17:21
|
(76) См (75)...
Всё запускается локально. Под одним пользователем системы. |
|||
78
trdm
18.05.15
✎
17:23
|
Просто в v8 намутили с запуском, думал желательно проверить.
|
|||
79
trdm
18.05.15
✎
17:25
|
Может ком реализован криво, для v7 нужны одни интерфейсы, а v8 может без них справляться.
|
|||
80
Бубка Гоп
18.05.15
✎
17:29
|
(0) регистрировалась компонента через regsvr32 ?
|
|||
81
trdm
18.05.15
✎
17:32
|
(80) Иначе бы v8 её бы не увидела. Запуск то по прогиду идет.
|
|||
82
Бубка Гоп
18.05.15
✎
17:33
|
(81) зарегистрировать компоненту можно по-разному
|
|||
83
Ёпрст
18.05.15
✎
17:34
|
дай файло то поглядеть всем
|
|||
84
trdm
18.05.15
✎
17:38
|
(83)+1
|
|||
85
trdm
18.05.15
✎
17:38
|
(82) Знаю.
|
|||
86
trdm
18.05.15
✎
17:39
|
Но обычно команды регистрации генерятся студией. они типичные.
|
|||
87
Бубка Гоп
18.05.15
✎
17:40
|
(86) встречалось по-всякому, поэтому и спросил
|
|||
88
H A D G E H O G s
18.05.15
✎
17:57
|
Все работает
Процедура Выполнить() New=СоздатьОбъект("addin.UCS_EFTPOS"); Сообщить(New.Version); КонецПроцедуры |
|||
89
H A D G E H O G s
18.05.15
✎
17:57
|
Я долго втыкал в vbs скрипт, запускал его в Word VBA вот в нем не работает.
|
|||
90
Ёпрст
18.05.15
✎
18:01
|
(88) ну, значит бородач его не зарегел как надо..
надоть с SysWOW64 regsvr32 брать |
|||
91
H A D G E H O G s
18.05.15
✎
18:03
|
Кстати, это адова смесь ВК и КОМ объекта :-) С криво написанной библиотекой типов. Забавный экземпляр.
|
|||
92
ДенисЧ
18.05.15
✎
19:14
|
SysWOW64 пробовал...
Щаз передыхну и попробую на ХП... |
|||
93
H A D G E H O G s
18.05.15
✎
19:17
|
(92) Давай я подключусь :-)
|
|||
94
ДенисЧ
18.05.15
✎
19:19
|
(93) Я уже не на работе.
А тут всё заработало. Завтра буду ковыряться дальше... А ты лучше скажи пока, что смотреть... |
|||
95
H A D G E H O G s
18.05.15
✎
19:21
|
(94) Я бы смотрел ProcMon-ом и сравнивал лог обращений к реестру свой (там его работает) с твоим логом.
|
|||
96
H A D G E H O G s
18.05.15
✎
19:21
|
там его работает ->
там где работает |
|||
97
Pit0n_08
18.05.15
✎
20:21
|
На Вин 8.1 проф 64бит регистрировать .dll надежнее всего, запустив cmd от имени Администратора и уже там regsvr32
|
|||
98
ДенисЧ
18.05.15
✎
20:22
|
(97) А ничего, что оно работает в 8 и не работает в 7?
Какая зависимость? |
|||
99
H A D G E H O G s
18.05.15
✎
20:59
|
(98) У меня заработала в win7 64x
|
|||
100
ДенисЧ
18.05.15
✎
21:00
|
(99) И что ты для этого сделал?
|
|||
101
H A D G E H O G s
18.05.15
✎
21:01
|
(100) regsvr32 от одмина.
|
|||
102
ДенисЧ
18.05.15
✎
21:07
|
(101) А я чо делал? И почему оно тогда есть в реестре и работает в 8ке?
|
|||
103
H A D G E H O G s
18.05.15
✎
21:09
|
(102) Прости, я не могу согнуть ложку, Нео. Это невозможно.
|
|||
104
ДенисЧ
18.05.15
✎
21:15
|
(103) Это непростительно!
|
|||
105
ДенисЧ
19.05.15
✎
09:36
|
Всё чудесатей...
http://pics.rsh.ru/img/obj_77pupbev.png Результат запроса в реестр - ключ не найден. Но он там есть. И права на чтение тоже есть... |
|||
106
Ёпрст
19.05.15
✎
09:53
|
(105) дык удали обе ветки и заново зареги.. либо /u
|
|||
107
ДенисЧ
19.05.15
✎
09:57
|
(106) То же самое...
|
|||
108
Ёпрст
19.05.15
✎
10:04
|
(107) запусти cmd от имени админа, в ней и регь, взяв regsvr32 c папки syswow64
|
|||
109
ДенисЧ
19.05.15
✎
10:07
|
(108) делал
|
|||
110
ikea
19.05.15
✎
10:09
|
Как вариант, если стоят последние обновления виндовс, откати их обратно. Недавно не мог поставить Openconf на win7 64, потом убрал последние обновления, все стало.
|
|||
111
H A D G E H O G s
19.05.15
✎
11:27
|
(109) Не созрел еще?
|
|||
112
Бубка Гоп
19.05.15
✎
11:30
|
(109) уже бы винду переустановить успел :D
|
|||
113
ДенисЧ
19.05.15
✎
11:31
|
(111) Может, к вечеру. Сейчас комп сильно нагружен. Да и задача пока не срочная
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |