processo executado em duplicidade: libc.system

23/09/2005

1

Estou com um problema sério utilizando libc.system. O Comando é executado duas vezes pela aplicacão. No caso, envia um relatório para uma determinada impressora. O Job chega duas vezes ao destino. Vejam se há algo errado na rotina:

if (gravados mod 4500) = 0 then // 4500 boletos por arquivo
begin
closefile(arqdestino);
comando := ´lp -d´+impressora+´ ´+nomearquivo;
connectcommand := Pchar( comando + ´&´);
libc.system( connectcommand );
iderror := libc.system( connectcommand );
if iderror = -1 then
begin
showmessage(´erro: nao enviou spool para impressora´);
end;
.
.
.
.


Responder

Posts

23/09/2005

Dopi

Ola Carlos,

connectcommand := Pchar( comando + ´&´); libc.system( connectcommand ); iderror := libc.system( connectcommand ); if iderror = -1 then .


De acordo com o código acima, vc ESTÁ chamando ´libc.system´ 2x... deixe apenas a ultima chamada...


Responder
Obrigado, Daniel,

Fiz o teste aqui assim que recebi a resposta, passou!

Todo um processo de migracão de código/aplicacões dependia disso, meu fim de semana vai ser bem melhor agora...
valeu mesmo!

carlos henrique


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira