COM -драйвер АТОЛ или что есть тип Массив #598932


#0 by AxelKis
Добрый день! Не уверен в корректности выбранной секции, ну да надеюсь что не запинают новичка. Пытаюсь работать с ФР через атоловский драйвер. Проблема возникла с главной же функцией - Open - подключить девайс. Суть в том, что принимаемый параметр - "Параметр МассивЗначений имеет тип данных «1С Предприятия8» – Массив" В интерфейсе же, если глянуть через Oleview: HRESULT Open( [in] IDispatch* ValuesArray, ... Есть какой то объект обертка для массива?
#1 by Господин ПЖ
comsafearray ?
#2 by Rie
А что не так? Насколько я понял, компоненте из 1С передаётся Массив, который в компоненте виден именно как IDispatch*
#3 by Rie
COMSafeArray - это именно SafeArray на том конце нужен. У него же компонента, по-видимому, ждёт 1С-овский объект.
#4 by H A D G E H O G s
Что смущает во всем вышеизложенном?
#5 by MikeFromAtol
А посмотреть как в типовых работа с драйвером сделана?
#6 by MikeFromAtol
И однозначно будет не лишней вот эта дока Это будет информативнее чем oleview
#7 by AxelKis
О, какая активность, спасибо всем. Я далек от 1с, с СОМ работал, но вот COMSafeArray вижу впервые. Это что - враппер какой то для обычного SAFEARRAY? В типовых - не могу глянуть, у меня вообще нет 1с, да и нужно то без него (я вызываю эти COM- компоненты вообще из java). FprnM_Pm.pdf - видел. Собственно, цитата первого сообщения - из него...
#8 by Rie
В данном случае SafeArray не нужен. Нужен именно Массив "made by 1С".
#9 by AxelKis
Это уже понятно. непонятно только, как эквивалент этого написать на C++, например (это я уже смогу транслировать на java + jacob, jawin).
#10 by Rie
Скорее всего - задать нужные значения через свойства.
#11 by AxelKis
видимо придется искать/ставить 1с и искать в его компонентах описание объектов, потом пытаться себя за них выдать. Я понимаю, что АТОЛ делал этот интерфейс как раз для 1c, но такая завязка на компоненты именно 1с печальна...
#12 by Rie
Не тот путь. Попробуй всё же поработать со свойствами.
#13 by AxelKis
Недопонял - свойствами чего?
#14 by AxelKis
массив же мне все равно нужно передать в метод... для этого я его инстанс, рожденный от Dispatch, должен как то создать.
#15 by Rie
Скорость, порт и т.п. - они на чтение/запись. Что касается IDispatch* - попробуй передать NULL. Не знаю, что из этого выйдет - но надеюсь на высокий профессионализм программистов "Атола".
#16 by AxelKis
ну, как говорил Лаврентий Павлович: попытка - не пытка. А MikeFromAtol не сможет это прокомментировать?
#17 by AxelKis
Не срослось с NULL. Ушел с использования AddIn.ATOL_KKM_1C на AddIn.FprnM45...
#18 by MikeFromAtol
смогу, но только завтра - я сегодня дома сижу, болею, а тут нужна консультация разработчиков
#19 by MikeFromAtol
аааа, так использовался ATOL_KKM_1C? А зачем, этот объект специально под 1С создавался. Для всех прочих сред разработки нужно использовать FprnM45
#20 by AxelKis
хотелось все 'посчупать'. Раз Вы появились - можно вопрос по PrintBitmap? FPrint-22K. Насколько я понимаю, печать идет строками растра по 66 байт. Последовательно печатаю одну и туже сетку 66 байт значением 255 - 2 строки 66 байт значением 001 - 10 строк (повторение 10 раз) Повторяю всю процедуру несколько раз. Сетки получаются визуально разные - где то сплошные строки толще, где то тоньше...
#21 by MikeFromAtol
ну опять же корректно смогу ответить только после консультации с разработчиками. Применительно к этой ситуации можно показать кусок кода, ответственного за печать, и скриншот того что получилось по факту?
#22 by AxelKis
Попробую отсканировать этот кусок чека, результат куда кинуть?
#23 by AxelKis
Отправил Вам на мыло, указанное в профайле.
#24 by MikeFromAtol
письмо получил, передал на рассмотрение разработчикам оборудования
#25 by AxelKis
Спасибо
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С