【发布时间】:2013-04-09 16:41:03
【问题描述】:
我有一个包含一些数据的字节数组...
CommandBytes : array of byte;
而且我有一个向蓝牙打印机发送命令的 VCL 功能。 VCL函数原型是这样的
SendData(PAnsiChar, Cardinal);
“此方法将字节从内存缓冲区传输到打开的设备”
如何正确传递字节数组以向打印机发送命令?
我是 Delphi 新手,我试过了:
SendData(PAnsiChar(@CommandBytes[0]), SizeOf(CommandBytes));
但它不起作用......
提前致谢。
【问题讨论】:
-
SendData函数看起来设计得很奇怪。与 C 和 C++ 不同,Pascal 对 byte 和 char 有不同的类型。所以我通常期望PAnsiChar是一个空终止指针。还有一个指向要声明为PByte的字节数组的指针。SendData是由第三方定义的吗?在这种情况下,我想你必须适应它。但如果这是您的功能,那么我会将其更改为PByte。 -
对不起,我不知道...我只是接受你的回答。