Essa função só funciona em Win9x e ME. O que ocorre é que as plataformas 
baseadas no NT (NT, 2000 e XP) possuem rígidas restrições quanto ao acesso 
de recursos de baixo nível, como portas de I/O e interrupções de software. 
Essa função, com certeza, está acarretando o erro de instrução privilegiada. 
Sendo assim, duas coisas:

1) Essa função, no final das contas, vai verificar a porta (ou endereço) de 
I/O da porta paralela, onde geralmente temos uma impressora. Se quiser fazer 
isso, vc precisa escrever (ou adquirir) um driver WDM que permita esse tipo 
de comunicação entre portas de I/O, e a partir da sua aplicação vc preisa se 
comunicar com esse driver. E alerto tb que com o Delphi vc ñ consegue 
construir um driver. Somente usando Visual C++ e o DDK (Driver Development 
Kit) respectivo pra plataforma NT que vc irá desenvolver sua aplicação;

2) Essa função só testa se a impressora local está online. Pesquise mais 
sobre a API do Windows para saber como verificar se uma impressora de rede 
está online!

[]s

>From: "Junior Terenzi" <[EMAIL PROTECTED]>
>Reply-To: delphi-br@yahoogrupos.com.br
>To: delphi-br@yahoogrupos.com.br
>Subject: [delphi-br] Erro Verificar Impressora On Line + winXP
>Date: Fri, 15 Jul 2005 03:48:54 -0000
>
>Pessoal, achei a seguinte função para verificar se a impressora esta
>on line na porta informada, mas esta dando um erro no WinXP. Não
>testei em outras versóes pois náo tenho aqui.
>
>
>{-------------------------------------------------------------------------}
>function TForm1.PrinterOnLine(Porta: TPorts): Boolean;
>var
>   nResult: Byte;
>   PrnNum : Word;   // 0 para porta LPT1, 1 para porta LPT2, etc.
>begin
>       PrnNum := ord( Porta );
>
>   asm
>     mov ah, $02;
>     mov dx,PrnNum;
>// ------ linha onde aparece o erro
>     Int $17;
>// ------ linha onde aparece o erro
>     mov nResult,ah;
>   end;
>
>   result := (nResult and $80) = $80;   //decimal=128  Bin=10000000 ou
>                                        //seja, testando o 7º bit
>end;
>
>Alguem tem alguma dica sobre isso???
>
>
>

_________________________________________________________________
MSN Messenger: converse com os seus amigos online. 
http://messenger.msn.com.br



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 


Responder a