Есть ли способ генерировать рабочие штрих-коды Code128 в TD 6.3?

В настоящее время я работаю над проектом, который требует вывода штрих-кода Code128 в QRP. Это более старый проект, перенесенный из TD 4.1, ранее в нем использовалась barcode.dll, которая не работает должным образом с 6.3.

Поскольку я не смог найти работающую DLL, я решил попробовать использовать проект Code128bWin из Sample Vault (https://samples.tdcommunity.net/index.php?dir=&file=Code128bWin)..zip). Теперь проблема в том, что функция, используемая там, прекрасно генерирует штрих-коды, но они не сканируются, и я не могу понять, почему.

Я все еще новичок в Team Developer, так что, возможно, проблема совершенно очевидна, и я просто ее не вижу, или, может быть, есть более простой способ сгенерировать штрих-код, но я уже несколько дней не могу решить эту проблему. и никуда не деться.

Буду признателен за любую помощь.


person Skjoldson    schedule 23.10.2019    source источник
comment
Пример вывода штрих-кодов, которые не сканируются, может помочь в диагностике проблемы.   -  person Brian Anderson    schedule 23.10.2019


Ответы (1)


Начнем с очевидного: пробовали ли вы UNICODE-версию вашего barcode.dll, так как TD6.3 основан на UNICODE, или, возможно, ваша существующая версия совместима с UNICODE, но «не работает должным образом», поскольку вы не изменили свой TD. строковые параметры и размеры буфера в UNICODE в вызовах API.
например. Строка: LPSTR становится строкой: LPWSTR, а также имейте в виду SalSetBufferLength(20), прежде чем вызов API выделит 20 байтов памяти, но имейте в виду, что 2 из этих байтов будут использоваться в качестве нулевого терминатора. Следовательно, чтобы отправить/получить строку штрих-кода '*4>HR\fpzg', вам потребуется выделить в буфер 22 байта памяти. Возможно, поэтому ваша существующая dll не работает должным образом.

person Steve Leighton    schedule 23.10.2019