Eu preciso desativar pq eu tenho um unico componente PosPrinter e varias impressoras, exemplo qdo vier um pedido de refrigerante preciso passar os parametros para a impressora do bar, qdo vier um produto de cozinha tenho que passar para a impressora da cozinha.
Se eu nao desativar o componente nao aceita eu setar os parametros para uma nova impressora.
segue o trecho do codigo que faz isso:
function TDM_ESCPOS.Ativar(Porta: String;Impressora:String):Integer;
var
ArqIni : TIniFile;
begin
frmMain.QListaImpressoras.Locate('descricao',Impressora,[]);
ArqIni := tIniFile.Create(frmMain.GetDir+'INFOLUCK.INI');
ESCPOS.Desativar;
ESCPOS.Modelo := TACBrPosPrinterModelo(frmMain.QListaImpressoras.FieldByName('tipo_escpos').AsInteger);
ESCPOS.Porta := Porta;
if ArqIni.ReadString('ESCPOS', 'LOG','NAO')='SIM' then
ESCPOS.ArqLOG :='ESCPOS.LOG'
else
ESCPOS.ArqLOG :='';
FreeAndNil(ArqIni);
ESCPOS.CortaPapel := True;
ESCPOS.VerificarImpressora := False; // esse parametro qdo true da problema de impressao muitos grandes qdo desativa e ativa a impressora
result := 1;
try
ESCPOS.Ativar;
except
Result:=0;
end;
End;