0

我目前正在开展一个需要将 Code128 条形码输出到 QRP 的项目。这是一个从 TD 4.1 移植的旧项目,它之前使用了一个无法在 6.3 中正常工作的barcode.dll。

由于找不到可以工作的 DLL,我决定尝试使用 Sample Vault ( https://samples.tdcommunity.net/index.php?dir=&file=Code128bWin.zip ) 中的 Code128bWin 项目。现在,问题是,那里使用的功能可以很好地生成条形码,但它们不可扫描,我不知道为什么。

我对 Team Developer 还很陌生,所以也许问题很明显,我只是没有看到,或者可能有更简单的方法来生成条形码,但我已经为此困扰了好几天了,并且无处可去。

我会很感激任何帮助。

4

1 回答 1

0

从显而易见的开始 - 您是否尝试过 'barcode.dll' 的 UNICODE 版本,因为 TD6.3 是基于 UNICODE 的,或者您现有的版本可能符合 UNICODE,但由于您没有更改 TD,因此“无法正常工作”在您的 api 调用中将字符串参数和缓冲区大小转换为 UNICODE。
例如 String: LPSTR 变为 String: LPWSTR 并且还要记住 SalSetBufferLength(20) 在 api 调用将分配 20 个字节的存储空间之前,但请注意其中 2 个字节将用作空终止符。因此,要发送/接收条形码字符串 '*4>HR\fpzg',您需要为缓冲区提供 22 个字节的存储空间。可能是您现有的 dll 无法正常工作的原因。

于 2019-10-23T22:14:10.103 回答