Отправка команд напрямую в Zebra EPL
Я пытаюсь отправить команды непосредственно на принтер Zebra TLP2844. Я последовал предложениюВот и мой окончательный код стал следующим:
var
cm: String;
p: TPrinter;
i: integer;
begin
p := Printer;
p.BeginDoc;
for i := 0 to memo1.Lines.Count-2 do
begin
cm := memo1.Lines[i];
if Escape(p.Canvas.Handle,
PASSTHROUGH,
Length(cm),
PAnsiChar(cm),
nil) = 0 then
ShowMessage('Command error: ' + IntToStr(GetLastError));
end;
p.EndDoc;
end;
Содержимое memo1 - это (первая строка пуста) в соответствии с назначениемВот:
N
q609
Q203,26
B26,26,0,UA0,2,2,152,B,"603679025109"
A253,26,0,3,1,1,N,"SKU 6205518 MFG 6354"
A253,56,0,3,1,1,N,"2XIST TROPICAL BEACH"
A253,86,0,3,1,1,N,"STRIPE SQUARE CUT TRUNK"
A253,116,0,3,1,1,N,"BRICK"
A253,146,0,3,1,1,N,"X-LARGE"
P1,1
Кажется, что команды не принимаются и не интерпретируются принтером должным образом. Я проверил, что принтер находится в режиме страницы (EPL2), с предложенным кодом, я могу открыть ручку принтера. Но ничего не печатается, только новая линия наклеек.
Я пытался полностью изменить команды на что-то явно неправильное и поведение такое же.
Что еще я должен искать, чтобы напечатать вещи?