WAPI v1.05 - Funções da API do Windows

Fórum sobre ferramentas de apoio à programação (Clipper/[x]Harbour)

Moderador: Moderadores

Adriano
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 29 Nov 2004 11:04
Localização: Campinas-SP

Mensagem por Adriano »

Maligno, fiz o teste conforme sua orientação, colocando o caminho completo e continuou com problema coloquei o WAPIERROR e o resultado foi 0 (muito estranho pois pelo WAPI.H 0 = sucesso) mas a impressão não sai de forma alguma.

Fiz um outro teste e omiti o parâmetro #, deixando o comando assim: PrintFile("IMP.TXT","Teste") o resultado foi que o relatório foi impresso na LPT1

Será que vc tem alguma idéia de onde posso estar errando?

Valeu pela força.
Adriano
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

coloquei o WAPIERROR e o resultado foi 0
Executou a função WAPIError() apenas uma vez, não é? Se executar uma segunda vez, o código anterior é apagado e ela passa a devolver zero.

Você tem uma impressora default, não tem? Se não tiver, configure uma. Se tiver, troque o "#" pelo nome da impressora. Tente assim. Depois diga se deu certo.
Aliás, qual é o seu Windows? XP?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Adriano
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 29 Nov 2004 11:04
Localização: Campinas-SP

Mensagem por Adriano »

Executei a função WAIPError apenas uma vez.

Tenho uma impressora default, já fiz um teste colocando o nome da impressora, porém também não funcionou, testei também colocando o caminho da impressora e também não funcionou, esqueci de mencionar estou utilizando Windows XP e a impressora está em rede (Novell), não sei se este é o problema.
Adriano
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Veja: o trabalho da função PrintFile() é apenas e tão somente transportar o conteúdo do seu arquivo de impressão para o spooler do Windows. É ele que vai direcionar sua impressão para esta ou aquela impressora, conforme você a tenha configurado. Se a impressora está compartilhada, disponível e corretamente configurada no Painel de Controle, não há motivo para o spooler não receber a impressão passada pela WAPI. Por acaso o spooler aparece na sua bandeja de ícones?
Inclusive, eu próprio, por duas ou três vezes, tive "enroscos" parecidos. A solução, se bem me lembro, foi cancelar todas as impressões do spooler, reiniciar a máquina e mandar imprimir novamente. A partir daí voltou a funcionar corretamente.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Em tempo: a impressora está configurada para usar o spooler? Ou está para impressão direta?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Adriano, vc consegue usar a impressora no windows normal ? qual a marca e modelo da impressora ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Ele acabou de dizer que conseguiu, sem querer, imprimir na LPT1.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

e qual impressora não funcionou ? marca modelo ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Acho que a questão nem é essa. Sendo ou não "for windows", a WAPI manda a impressão pro spooler de qualquer maneira. E aí está a razão do destaque que coloquei: a WAPI não imprime nada. Ela apenas envia pro spooler. Se dali pra frente der algum problema, será um problema entre o spooler e o Windows. E o problema parece estar na dificuldade de enviar para o spooler.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Adriano
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 29 Nov 2004 11:04
Localização: Campinas-SP

Mensagem por Adriano »

A impressora é uma HP Laserjet 1320, a impressão funciona normalmante tanto via Windows quanto via DOS, confirmei na configuração da impressora e está ativado o spool.

Me parece que a impressão não foi descarregada para o Spool, visto que a função PrintFile está retornando um valor .F., o estranho é que ela retorna um valor .F. porém o código do erro é 0
Adriano
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Não seria questão de configurar o formato do spool (em configuração do spool), isto é, setar para RAW ?

Eu faria primeiramente testes na linha de comando (que é mais rápido, porque não precisaria compilar e você veria os resultados tanto no arquivo como em tela (deixando a visualização da fila de impressão em modo janelado, para saber se estaria enviando ou não). E também colocaria o nome certo da impressora em que desejo imprimir (conforme o nome obtido pela função -GETDEFPRINTER:PRINTERS.TXT do WAPI.EXE
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno, testei em outras máquinas XP e funcionou a desabilitação do protetor de tla do Windows, porém como foi observado (não é setado nas propriedades da tela). Mas o importante que não é ativado o protetor de telas durante a execução do sistema. Já isso é uma grande coisa.

Ahh, os meus protetores de tela no XP, estão funcionando, também de acordo. Acho que eu me precipitei a dizer que não funcionam mais os meus protetores (desculpe). Mas a função do SCREENSAVER trabalh como foi descrito, desativa e ativa (mas nas propriedades não é mudado, ao menos na versão do Windows XP) ja no WIN98 funciona e muda nas propriedades da tela (engraçado, ao final com WIN98, sempre é esperado não funcionar). Mas enfim, para mim está aprovado, me desclpe se fiz confusão e o que realmente importa é desabilitar o protetor de tela do Windows durante a sessão, assim que a WAPI como está sobre esta função, está de bom tamanho.
Editado pela última vez por Pablo César em 06 Set 2007 10:29, em um total de 1 vez.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Mensagem por Pablo César »

Maligno, gostaria fazer mais uma solicitação (se for possível) de mais dois elementos de retorno sobre a função GETSYSTEMINFO.

Acho importante saber onde se encontra o Menu iniciar (All user e usuário vigente) para poder inserir alguma rotina de confguração na inicialização da máquina. Assim como era feito através do AUTOEXEC.BAT

Hoje eu poderia pegar a SUBSTRING (até onde começa DESKTOP) dos elementos (9,10,11 e 12) de retorno e adicionar logo após o resto do caminho na STRING de "Menu Iniciar\Programas\Inicializar" ou "MENUIN~1\PROGRA~1\INICIA~1" para indicar o caminho completo onde deve ser gravado o arquivo .LNK. Mas se tiver na WAPI mais estes elementos de retorno, irá ser com certeza mais preciso, se não for muito pedir, é claro.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Adriano escreveu:A impressora é uma HP Laserjet 1320
...
o estranho é que ela retorna um valor .F. porém o código do erro é 0
Nesta impressora ficaria bem simples mesmo. Vou fazer um programa de teste e te mandar ou subir pro meu site. Depois do almoço. Daí te aviso.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Mensagem por Maligno »

Pablo César escreveu:Mas enfim, para mim está aprovado
Que bom. Pelo menos está tudo funcionando. Eu já estava quase contratando uma mãe-de-santo pra fazer uma sessão de descarrego. :)))
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.

---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Responder