Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Модели:
Меркурий 313, Меркурий 314, Меркурий 315, Меркурий 330
Ответить
Аватара пользователя
pi1
Сообщения: 8
Зарегистрирован: 21 апр 2014, 08:34

Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение pi1 »

В мануале к драйверу (MercuryComScale.pdf) нет ясности, каким образом передаются параметры подключения.
Как создать объект описано:"Для работы с драйвером необходимо создать COM-объект MercuryCom.M315Drv1C
(например: Variant Scales=CreateOleObject("MercuryCom.M315Drv1C"))." Описаны основные функции созданного объекта (open,close,GetWeight и т.д). Но нет примера использования параметров подключения, описанных в табличке "Массив значений для настройки подключения". То есть не ясно, куда при работе через OLE, этот массив "засунуть".
Особо впечатляет следующее в данном мануале- "Работа с электронными весами «Меркурий» через данный компонент начинается с вызова метода Подключить (Open). При успешном выполнении метода компонент
осуществляет захват соответствующего порта связи."
Соответствующего чему? Возможно забыли дописать что то вроде Scales.Parametrs:='1,4800';?
Подскажите пожалуйста.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение slan »

Добрый день.
Прошу заметить, данный мануал предназначен для программистов. Почему Вы решили что в мануале обязательно должны быть примеры для каждого метода? Если Вы откроете документ компании 1С "Требования к разработке драйверов для электронных весов" (в соответствии с которым данный драйвер и был разработан), то увидите, что драйвер этим требованиям соответствует.
Если Вам что-то не ясно - задавайте конкретные вопросы по существу.
То есть не ясно, куда при работе через OLE, этот массив "засунуть".
Данный массив передается как параметр в метод Подключить(Open)
Особо впечатляет следующее в данном мануале- "Работа с электронными весами «Меркурий» через данный компонент начинается с вызова метода Подключить (Open). При успешном выполнении метода компонент
осуществляет захват соответствующего порта связи."
Соответствующего чему? Возможно забыли дописать что то вроде Scales.Parametrs:='1,4800';?
Соответствующего значению параметра Порт (Port) из массива для настройки подключения (страница 4 мануала), который используется методом Подключить(Open), ничего дописать не забыли
Аватара пользователя
pi1
Сообщения: 8
Зарегистрирован: 21 апр 2014, 08:34

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение pi1 »

Понятно, что для программистов мануал. Я тоже немного программирую, вот и прочитал сей мануал по нужде. До этого больше ШТРИХ-М мануалы читал, потому наверное и так привередлив. Избалован точностью формулировок в ихних мануалах и экземплах. Так бы и написали, что наша продукция предназначена для работы только с софтом 1С и убрали б этот мануал долой. Ну да ладно, извините, если что не так, просто обидно время терять из за неточностей в этом мануале. А то что табличка в нем с параметрами порта продекларирована как набор параметров для метода OPEN(), это ясно. Но вот в обработке для 1с 8.2 количество параметров порта 3, а в мануале 2 (отсутствует четность). Не затруднит ли Вас дать пример с использованием любого синтаксиса программирования, как правильно передать параметры. Например так- Scale.Open("1,8,N,1,4800");
Заранее благодарен.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение slan »

Так бы и написали, что наша продукция предназначена для работы только с софтом 1С и убрали б этот мануал долой
Для чего нам так писать, если это не правда? Вы делаете неправильные выводы, с данным драйвером может общаться любая программа, а не только 1С
Просто обидно время терять из за неточностей в этом мануале
Неточностей в данном мануале нет, Вы теряете время не по этой причине
Но вот в обработке для 1с 8.2 количество параметров порта 3, а в мануале 2 (отсутствует четность)
Я не видел что в обработке, да это и не важно. Число параметров подключения к обсуждаемым весам никак не зависит от этой обработки, скорее наоборот. Для чего Вам параметр Четность, если весы поддерживают единственный тип четности, который драйвер устанавливает сам?
Не затруднит ли Вас дать пример с использованием любого синтаксиса программирования, как правильно передать параметры
Вот с этого и нужно было начинать, а то Вы зачем-то начали тему с обвинений в неточности и неправильности мануала, между тем программистам мануал понятен, не наша вина в том что он не понятен Вам. Даю пример подключения к весам из Builder C++:

Код: Выделить всё

Variant Scales = CreateOleObject("MercuryCom.M315Drv1C");

SAFEARRAY *pArray = 0;
pArray = SafeArrayCreateVector(VT_VARIANT, 0, 2);
Variant *pData = 0;
SafeArrayAccessData(pArray, (void**)&pData);
pData[0] = 1; //порт
pData[1] = 4800;	//скорость
SafeArrayUnaccessData(pArray);

WideString devID = "";
VARIANT_BOOL result = Scales.OleFunction("Подключить", pArray, &devID);
Аватара пользователя
pi1
Сообщения: 8
Зарегистрирован: 21 апр 2014, 08:34

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение pi1 »

Вот за этот пример Вам респект и уважуха! Все ясно и понятно. Этого, как раз и не хватало в в/у мануале (MercuryComScale.pdf).
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение slan »

Мне кажется в мануале это будет лишним, т.к. языков программирования довольно-таки много, которые позволяют работать с OLE-серверами, и всем не угодишь. Форум для того и нужен, чтобы помочь с техническими вопросами
Аватара пользователя
pi1
Сообщения: 8
Зарегистрирован: 21 апр 2014, 08:34

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение pi1 »

Да это как сказать, по моему можно понять алгоритм решения по любому примеру.Это эффективней пояснительного текста. Лет 7 назад, когда начал писать плагины на php, с удивлением узнал и прочувствовал, почему файлы формата txt (ansi,ascii) запрещены к загрузке на ресурсы. И еще вопрос. У меня задача работает в кодировке utf8. Судя по всему, нужно будет "Подключить" перекодировать в ansi или можно использовать аналог "Connect"?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение slan »

Если сомневаетесь в кодировке - используйте Open (в документации в скобочках указаны англоязычные аналоги русских названий методов), русские имена методов передаются юникодом, в анси перекодировать не нужно
Аватара пользователя
pi1
Сообщения: 8
Зарегистрирован: 21 апр 2014, 08:34

Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»

Сообщение pi1 »

Спасибо, попробую и так и по другому.
Ответить