Olá José Luís Schiavo,
Muitíssimo obrigado pela sua colaboração... Estive analisando os fontes...
1 - O método: ImprimirBarras recebeu uma sobrecarga apenas por causa da mudança dos Parâmetros:
LarguraBarraLarga, LarguraBarraFina: Char -> String...
Acho que podemos modificar o método original, pois não quebraria as aplicações existentes uma mudança de Char para String... e tratamos nas classes já existente usando algo como: LarguraBarraLarga[1].
2 - O que vem a ser: VerticalY1, HorizontalX1, VerticalY2, HorizontalX2 no método ImprimirCaixa ? (porque precisamos de Y1 e Y2 e X1 e X2 ?)
3 - AvancoEtq e EspacoEtq não seriam a mesma coisa ? Essa impressora não lê o GAP da etiqueta ?
4 - O Parâmetro Resolucao do método Imprimir, parece estar mais relacionado ao Espaço da etiqueta do que com a Resolução... pois ele não compoem a String do comando enviado... Ele só ocorre em:
if Resolucao = 0 then
Resolucao := 203; // 203 dpi = padrão
if Resolucao = 203 then
begin
if EspacoEtq
EspacoEtq := 16;
end
else begin // 300 dpi
if EspacoEtq
EspacoEtq := 18;
end;
[/code]
5 - Notei alguns inconsistências de validação como por exemplo:
[code] if (Vertical 999) then
Raise Exception.Create(ACBrStr('Informe um valor entre 0 e 762 para Vertical'));
O máximo é 762 ou 999 ?