Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
В мануале к драйверу (MercuryComScale.pdf) нет ясности, каким образом передаются параметры подключения.
Как создать объект описано:"Для работы с драйвером необходимо создать COM-объект MercuryCom.M315Drv1C
(например: Variant Scales=CreateOleObject("MercuryCom.M315Drv1C"))." Описаны основные функции созданного объекта (open,close,GetWeight и т.д). Но нет примера использования параметров подключения, описанных в табличке "Массив значений для настройки подключения". То есть не ясно, куда при работе через OLE, этот массив "засунуть".
Особо впечатляет следующее в данном мануале- "Работа с электронными весами «Меркурий» через данный компонент начинается с вызова метода Подключить (Open). При успешном выполнении метода компонент
осуществляет захват соответствующего порта связи."
Соответствующего чему? Возможно забыли дописать что то вроде Scales.Parametrs:='1,4800';?
Подскажите пожалуйста.
Как создать объект описано:"Для работы с драйвером необходимо создать COM-объект MercuryCom.M315Drv1C
(например: Variant Scales=CreateOleObject("MercuryCom.M315Drv1C"))." Описаны основные функции созданного объекта (open,close,GetWeight и т.д). Но нет примера использования параметров подключения, описанных в табличке "Массив значений для настройки подключения". То есть не ясно, куда при работе через OLE, этот массив "засунуть".
Особо впечатляет следующее в данном мануале- "Работа с электронными весами «Меркурий» через данный компонент начинается с вызова метода Подключить (Open). При успешном выполнении метода компонент
осуществляет захват соответствующего порта связи."
Соответствующего чему? Возможно забыли дописать что то вроде Scales.Parametrs:='1,4800';?
Подскажите пожалуйста.
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Добрый день.
Прошу заметить, данный мануал предназначен для программистов. Почему Вы решили что в мануале обязательно должны быть примеры для каждого метода? Если Вы откроете документ компании 1С "Требования к разработке драйверов для электронных весов" (в соответствии с которым данный драйвер и был разработан), то увидите, что драйвер этим требованиям соответствует.
Если Вам что-то не ясно - задавайте конкретные вопросы по существу.
Прошу заметить, данный мануал предназначен для программистов. Почему Вы решили что в мануале обязательно должны быть примеры для каждого метода? Если Вы откроете документ компании 1С "Требования к разработке драйверов для электронных весов" (в соответствии с которым данный драйвер и был разработан), то увидите, что драйвер этим требованиям соответствует.
Если Вам что-то не ясно - задавайте конкретные вопросы по существу.
Данный массив передается как параметр в метод Подключить(Open)То есть не ясно, куда при работе через OLE, этот массив "засунуть".
Соответствующего значению параметра Порт (Port) из массива для настройки подключения (страница 4 мануала), который используется методом Подключить(Open), ничего дописать не забылиОсобо впечатляет следующее в данном мануале- "Работа с электронными весами «Меркурий» через данный компонент начинается с вызова метода Подключить (Open). При успешном выполнении метода компонент
осуществляет захват соответствующего порта связи."
Соответствующего чему? Возможно забыли дописать что то вроде Scales.Parametrs:='1,4800';?
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Понятно, что для программистов мануал. Я тоже немного программирую, вот и прочитал сей мануал по нужде. До этого больше ШТРИХ-М мануалы читал, потому наверное и так привередлив. Избалован точностью формулировок в ихних мануалах и экземплах. Так бы и написали, что наша продукция предназначена для работы только с софтом 1С и убрали б этот мануал долой. Ну да ладно, извините, если что не так, просто обидно время терять из за неточностей в этом мануале. А то что табличка в нем с параметрами порта продекларирована как набор параметров для метода OPEN(), это ясно. Но вот в обработке для 1с 8.2 количество параметров порта 3, а в мануале 2 (отсутствует четность). Не затруднит ли Вас дать пример с использованием любого синтаксиса программирования, как правильно передать параметры. Например так- Scale.Open("1,8,N,1,4800");
Заранее благодарен.
Заранее благодарен.
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Для чего нам так писать, если это не правда? Вы делаете неправильные выводы, с данным драйвером может общаться любая программа, а не только 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);
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Вот за этот пример Вам респект и уважуха! Все ясно и понятно. Этого, как раз и не хватало в в/у мануале (MercuryComScale.pdf).
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Мне кажется в мануале это будет лишним, т.к. языков программирования довольно-таки много, которые позволяют работать с OLE-серверами, и всем не угодишь. Форум для того и нужен, чтобы помочь с техническими вопросами
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Да это как сказать, по моему можно понять алгоритм решения по любому примеру.Это эффективней пояснительного текста. Лет 7 назад, когда начал писать плагины на php, с удивлением узнал и прочувствовал, почему файлы формата txt (ansi,ascii) запрещены к загрузке на ресурсы. И еще вопрос. У меня задача работает в кодировке utf8. Судя по всему, нужно будет "Подключить" перекодировать в ansi или можно использовать аналог "Connect"?
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Если сомневаетесь в кодировке - используйте Open (в документации в скобочках указаны англоязычные аналоги русских названий методов), русские имена методов передаются юникодом, в анси перекодировать не нужно
Re: Mercury m315,драйвер Инкотекс: Электронные весы «Меркурий»
Спасибо, попробую и так и по другому.