【发布时间】:2016-12-28 11:24:01
【问题描述】:
故事: 我的应用程序是为移动平台设计的,并且有自己的蓝牙点阵打印机连接,可以在区域或现场打印一些发票和文件。一些 android 设备运行良好,但是当用户尝试打印某些东西时,其中一些总是抛出损坏的管道异常。
流程:
- 我使用 TBluetoothManager 和 TBluetoothDeviceList 来获取配对设备列表,并将所有配对设备存储在配置 ini 文件中。
- 当用户想要打印时,我初始化与准备打印的设备的连接,然后我将发票逐行发送到 TBluetoothSocket 对象。
- 我用这个函数把每一行改成字节数组;
function StrToByteArr(strData: String): TArray<Byte>;
var
eEncoding: TEncoding;
begin
eEncoding := TEncoding.GetEncoding(857);
Result := eEncoding.GetBytes(strData);
end;
然后我将我的值作为字节数组发送到 TBluetoothSocket.SendData(Byte>) Method
问题:我尝试使用 10 多种不同的设备打印我的值,但成功率不够好(8/20 设备工作正常)。我该怎么办?
【问题讨论】:
标签: android delphi printing bluetooth firemonkey