Здравствуйте, kumbor, Вы писали:
K>А что значит иммено 'this.s.Open("OPOS_Device_Name — как ты его там назвал при конфигурировании")'
Ну для этого надо ознакомится с технологией OPOS, в частности по OPOS Device Name. В рамках данного форума не вижу смысла в разъясненении азов OPOS, но тем не менее приведу выдержку из документации:
Open Method
Syntax LONG Open (BSTR DeviceName);
The DeviceName parameter specifies the device name to open.
Remarks Call to open a device for subsequent I/O.
The device name specifies which of one or more devices supported by this Control Object should be used. The DeviceName must exist in the system registry for this device class. The relationship between the device name and physical devices is determined by entries within the operating system registry; these entries are maintained by a setup or configuration utility.
Спасибо за информацию. Приложение на её основе работает прекрасно, есть только одна проблема, обнаружившаяся уже на продакшион. Если перезапусить компьютер, то сканер начинает работать лишь если вытащить его из USB-разъёма и вставить снова. Делать это можно в любой момент начиная с момента начала загрузки Windows (появления на мониторе логотипа Windows), естественно до загрузки приложения. Мыслилось однако, что приложение стоит в автозапуске, т.е. пользователь включает компьютер и, после загрузки его и автозапуска приложения, всё уже готово к работе.
Здравствуйте, FMin, Вы писали:
FM>Спасибо за информацию. Приложение на её основе работает прекрасно, есть только одна проблема, обнаружившаяся уже на продакшион. Если перезапусить компьютер, то сканер начинает работать лишь если вытащить его из USB-разъёма и вставить снова. Делать это можно в любой момент начиная с момента начала загрузки Windows (появления на мониторе логотипа Windows), естественно до загрузки приложения. Мыслилось однако, что приложение стоит в автозапуске, т.е. пользователь включает компьютер и, после загрузки его и автозапуска приложения, всё уже готово к работе.
FM>Можете подсказать как инициализировать сканер?
У нас к сканеру был мануал, где были некоторые служебные штрихкоды, считывание которых сканером вводило сканер в соответствующий режим работы.
Попробуй ему скормить штрих-код режима постоянной работы от USB.
Здравствуйте, shico, Вы писали:
S>Спасибо за подробный ответ! S>Тут походу пьесы возник еще один вопрос . Вы случайно не знаете бесплатных компонентов для генерации баркодов? Или где можно бесплатно взять шрифты для кода 128? А-то всюду гед смотрю все платное
Не знаю, подойдет ли.
Попробуй погуглить по названиям: CSharp_TBC_DLL.zip, freebarcodesdk.zip
Если надо, могу на мыло скинуть какие-то прилады для баркодов, которые у меня лежат в distr/barcode. Давно разбирался — уже не помню, что там работает, а что нет.
Здравствуйте, Boltyk, Вы писали:
B>Попробуй ему скормить штрих-код режима постоянной работы от USB.
Это, естественно, сделано однажды и потом уже не требуется.
Дело в том, что после загрузки компьютера сканера нет среди запущенных девайсов. Соответственно он не работает и ничего ему поэтому не скормишь. Ежели вытащить и вставить его USB разъём, то девайс немедленно появлется, нужный режим устанавливается сам собой без пересканивания и всё уже работает
Здравствуйте, FMin, Вы писали:
FM>Спасибо за информацию. Приложение на её основе работает прекрасно, есть только одна проблема, обнаружившаяся уже на продакшион. Если перезапусить компьютер, то сканер начинает работать лишь если вытащить его из USB-разъёма и вставить снова. Делать это можно в любой момент начиная с момента начала загрузки Windows (появления на мониторе логотипа Windows), естественно до загрузки приложения. Мыслилось однако, что приложение стоит в автозапуске, т.е. пользователь включает компьютер и, после загрузки его и автозапуска приложения, всё уже готово к работе.
FM>Можете подсказать как инициализировать сканер?
Первый раз о таком слышу. Это проблема исключительно драйвера сканера. Попробуйте обратиться к производителю сканера или к его представителям. Если проблема не решится — используйте сканер другого производителя.
Здравствуйте, hramovnik, Вы писали:
H>Здравствуйте, _d_m_
H>Добрый день. Ты использовал H>using OposScanner_1_11_Lib; H>using OPOSCONSTANTSLib;
H>OposScanner_1_11_Lib я нашел и скачал, а вот либу с константами OPOSCONSTANTSLib я так и не смог найти. H>Кинь плиззз ссылку.
Я отказался от предлагаемых интеропов, генерирую свои:
Здравствуйте, hramovnik, Вы писали:
H>Спасибо большое.
Для спасибо кнопка есть, а для большого спасиба — кнопку жать два раза
H>А случайно не подскажешь где брать описание кодов(ResultCode, ResultCodeExtended, ErrorLocus, ErrorResponse) для ErrorEvent?
Естественно в документации (UnifiedPOS Specification v1.12.pdf) — там так и написано "See the list of
ErrorCodes under “Error Codes” on page 52".
В моем примере все ошибки расписаны чего еще хочешь-то?
По остальным параметрам в доке тоже все четко прописано:
The ErrorLocus attribute has one of the following values:
Value Meaning
EL_OUTPUT Error occurred while processing asynchronous output.
EL_INPUT Error occurred while gathering or processing eventdriven
input. No previously buffered input data is
available.
EL_INPUT_DATA Error occurred while gathering or processing eventdriven
input, and some previously buffered data is
available.
The application’s error event handler can set the ErrorResponse attribute to one of
the following values:
Value Meaning
ER_RETRY Retry the input or asynchronous output. The error state
is exited.
May be valid only when locus is EL_INPUT. Default
when locus is EL_OUTPUT.
ER_CLEAR Clear all buffered output data (including all
asynchronous output) or buffered input data. The error
state is exited. Default when locus is EL_INPUT.
Здравствуйте, _d_m_, Вы писали: ___>Естественно в документации (UnifiedPOS Specification v1.12.pdf) — там так и написано "See the list of ___>ErrorCodes under “Error Codes” on page 52". ___>В моем примере все ошибки расписаны чего еще хочешь-то? ___>По остальным параметрам в доке тоже все четко прописано: ___>[q] ___>The ErrorLocus attribute has one of the following values: ___>Value Meaning ___>EL_OUTPUT Error occurred while processing asynchronous output. ___>EL_INPUT Error occurred while gathering or processing eventdriven ___>input. No previously buffered input data is ___>available. ___>EL_INPUT_DATA Error occurred while gathering or processing eventdriven ___>input, and some previously buffered data is ___>available. ___>The application’s error event handler can set the ErrorResponse attribute to one of ___>the following values: ___>Value Meaning ___>ER_RETRY Retry the input or asynchronous output. The error state ___>is exited. ___>May be valid only when locus is EL_INPUT. Default ___>when locus is EL_OUTPUT. ___>ER_CLEAR Clear all buffered output data (including all ___>asynchronous output) or buffered input data. The error ___>state is exited. Default when locus is EL_INPUT.
Не посчитай меня идиотом , но мне дали девайсы без документов, спецификаций и т.п.
Я облазил весь инет и нашел только косвенные ссылки на документация с описанием и значениями кодов.
Нашел тот док который на который ты ссылаешься(UnifiedPOS Specification v1.12.pdf), но значений и там не нашел(((
Если знаешь, где можно взять — кинь пожалуйста ссылку.
Здравствуйте, hramovnik, Вы писали:
H>Не посчитай меня идиотом , но мне дали девайсы без документов, спецификаций и т.п.
Идиотом не считаю, просто хочу понять — чего конкретно ты хочешь?
А какие тебе надо документы, специфиикации на девайсы? Девайс имеет OPOS драйвер? Судя по всему — да, значит читай спецификации OPOS.
H>Я облазил весь инет и нашел только косвенные ссылки на документация с описанием и значениями кодов. H>Нашел тот док который на который ты ссылаешься(UnifiedPOS Specification v1.12.pdf), но значений и там не нашел((( H>Если знаешь, где можно взять — кинь пожалуйста ссылку.
Все что у меня есть и чем я пользуюсь я тебе дал:
— подробный пример;
— как генерировать свои интероп враперы;
— доку по стандарту OPOS ты нашел;
Здравствуйте! импортирую ACTIVEX OPOSScanner в delphi, но не видно некоторых свойств. а именно ScanData,DeviceEnabled,DataEventEnabled. Open и Claim есть. подскажите с чем это может быть связано?
Здравствуйте, corpse56, Вы писали:
C>Здравствуйте! импортирую ACTIVEX OPOSScanner в delphi, но не видно некоторых свойств. а именно ScanData,DeviceEnabled,DataEventEnabled. Open и Claim есть. подскажите с чем это может быть связано?
Вероятно с невнимательным чтением документации. Например я вот вижу в описании св-ва ScanData:
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, corpse56, Вы писали:
C>>Здравствуйте! импортирую ACTIVEX OPOSScanner в delphi, но не видно некоторых свойств. а именно ScanData,DeviceEnabled,DataEventEnabled. Open и Claim есть. подскажите с чем это может быть связано?
___>Вероятно с невнимательным чтением документации. Например я вот вижу в описании св-ва ScanData: ___>
___>ScanData: binary { read-only, access after open }
ну там дело в том что в c# например объявляешь этот сканер, потом ставишь точечку и появляется выпадающий список со всеми свойствами и методами. и вот в дельфи нету в выпадающем списке свойств ScanData,DeviceEnabled,DataEventEnabled и наверняка еще каких-то. и поэтому он на этапе компиляции уже выдает ошибку что необъявленное свойство... до рантайма не доходит дело... как достучаться до этих свойств?
спасибо.
Здравствуйте, corpse56, Вы писали:
C>ну там дело в том что в c# например объявляешь этот сканер, потом ставишь точечку и появляется выпадающий список со всеми свойствами и методами. и вот в дельфи нету в выпадающем списке свойств ScanData,DeviceEnabled,DataEventEnabled и наверняка еще каких-то. и поэтому он на этапе компиляции уже выдает ошибку что необъявленное свойство... до рантайма не доходит дело... как достучаться до этих свойств?
У меня в VS C# все работает без проблем. С дэльфи знаком только по наслышке, проблема, скорее всего в нем. Может дэльфи как-то щупает COM-класс создавая у себя его экземпляры во время дизайна? Выкинуть дэльфи.
Здравствуйте, _d_m_, Вы писали:
___>У меня в VS C# все работает без проблем. С дэльфи знаком только по наслышке, проблема, скорее всего в нем. Может дэльфи как-то щупает COM-класс создавая у себя его экземпляры во время дизайна? Выкинуть дэльфи.
VS, кстати, так тоже делает для визуальных компонентов, которые на формочку кидаешь.
Здравствуйте, _d_m_, Вы писали:
___>Здравствуйте, _d_m_, Вы писали:
___>>У меня в VS C# все работает без проблем. С дэльфи знаком только по наслышке, проблема, скорее всего в нем. Может дэльфи как-то щупает COM-класс создавая у себя его экземпляры во время дизайна? Выкинуть дэльфи.
___>VS, кстати, так тоже делает для визуальных компонентов, которые на формочку кидаешь.
спасибо за ответы! но к сожалению не нашел выхода...