A/C Eduardo Silva: Olá Eduardo, não lhe prometo postar um exemplo no momento pela falta de tempo, mas se vc compilar um pequeno aplicativo usando os componentes mencionados abaixo, inclusive a função IsPrinter,e testar no WINXP poderá checar o problema.
A/C Vitor Luiz: Olá Vitor,,,, No WIN98SE funciona redondinho. Compilei com a versão TRIAL do RDPRINT 4, testei no WIN98 sem problemas. Depois instalei no WINXP e o problema continua. Só esquecí de mencionar que utilizo o MYSQL 3.23.58 e componentes ZeosLib v. 5.3.1 Obs: a Procedure_Impressão tem código extenso, se vc confirmar posso postar. Mais alguns pepinos: 1o.) a função abaixo também não funciona no WINXP: {Checa Impressora} function IsPrinter: boolean; Var vIsprinter:BYTE; begin Asm MOV AH, 02H // Status da impressora MOV DX, 0 // Checando a impressora INT 17H // Lê Status da Impressora MOV vISPRINTER, AH end; if vIsPrinter <> 144 then IsPrinter:=false Else IsPrinter:= True; if vIsprinter = 24 then ShowMessage('Impressora em pause !') else if vIsprinter = 48 then ShowMessage('Impressora está Desligada !') else if vIsprinter = 56 then ShowMessage('Impressora está sem papel !') //else if vIsprinter = 144 then ShowMessage('Impressora está Ativada !'); end; 2o.) A unit ZTransac pára no código FREE.QUERY quando compilado no D5 instalado no WINXP e travaando a execução em runtime. Vou fazer mais uns testes de impressão no WIN98SE. Se não funcionar no WINXP vou parar. Obrigado a todos pela colaboração Bolasete(donisete) 5af, 06/03/2008 15:20hs [As partes desta mensagem que não continham texto foram removidas]