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

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

Moderador: Moderadores

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 »

sygecom escreveu:o jeito é usar o xharbour mesmo com a classe win32prn
Não estamos tentando encontrar um método que permita imprimir sem erros. Estamos querendo descobrir qual erro da WAPI deve ser corrigido para que nela se possa imprimir normalmente. Observe o título deste tópico.
[]'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 »

Apenas é uma opinião....
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 »

É sempre válida a opinião de qualquer um, mas note que o Sérgio já disse que utiliza o programa do Heveraldo (USB.EXE) com sucesso. Se tivesse lido do princípio, teria percebido qual é o foco da discussão.
[]'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 »

ok
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 »

asimoes escreveu:Vi que você tem uma biblioteca chamada WAPI.
Eu baixei os fontes, depois de muito custo consegui chegar no SUCESSO e a biblioteca foi criada: tamanho dela: 67072kb
Mesmo tamanho da biblioteca que eu compilei.
Se você já tiver a biblioteca wapi.lib pronta, você poderia mandar para o meu email: asimoesluz@gmail.com
Mas o pacote ZIP, que provavelmente você pegou do meu site, já contém o arquivo WAPI.LIB pronto.
Aprinter:=GetPrinters() <-- Aqui acontece o erro.
Qual é o erro exatamente? Há um texto descritivo, imagino. Ou não?
[]'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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Maligno,

Quando eu executo a wapi.exe no prompt wapi -getprinters:teste
Me retorna:

0,PrimoPDF,PrimoPort:
0,Microsoft Office Document Image Writer,Microsoft Document Imaging Writer Port:
1,hp1310,USB001

Quando eu chamo a função getprinters() me retorna 1, inclusive na função SetaImp(), que já foi postado no forum dá erro quando é atribuido ao veto.r

Estou usando clipper 5.2e
Blinker 7.0
Modo protegido.

O wapi.lib tem o tamnho 67072kb

O que pode estar errado?

Obrigado.
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
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 »

asimoes escreveu:Quando eu executo a wapi.exe no prompt wapi -getprinters:teste
Me retorna:

0,PrimoPDF,PrimoPort:
0,Microsoft Office Document Image Writer,Microsoft Document Imaging Writer Port:
1,hp1310,USB001
Em linha de comando, tudo bem. Esse é um típico retorno. Está normal. A impressora default é uma HP1310.
Quando eu chamo a função getprinters() me retorna 1
Você quer dizer que o retorno de GetPrinters(), ao invés de ser uma matriz, como esperado, é um dado numérico, cujo valor é 1?

E quanto ao erro em si, qual é a mensagem do erro? Ele ocorre exatamente naquela linha em que você executa GetPrinters()?
[]'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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Exatamente, a função me retorna 1, que não é vetor.

Veja o meu script de linkedição:

BLINKER INCREMENTAL OFF
BLINKER OVERLAY PAGEFRAME ON
BLINKER EXECUTABLE SERIAL SC v2007.10
BLINKER EXECUTABLE CLIPPER //F:200 //DYNF:8 //INFO
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE EXTEND
FI SC0000
OU SC
FI SC0101
FI SC0201
FI SC0202
FI SC0301
FI SC0401
FI TIMESLIC
LIB SCFUNC
LIB FAST52
LIB APIBLI
LIB DBFCDX
FI CTUSP,ERROS
LIB OSLIB
LIB CPMI
LIB VL2_52
LIB CTP52
SEARCH BLXCLP52
LIB WAPI

Maligno escreveu:
asimoes escreveu:Quando eu executo a wapi.exe no prompt wapi -getprinters:teste
Me retorna:

0,PrimoPDF,PrimoPort:
0,Microsoft Office Document Image Writer,Microsoft Document Imaging Writer Port:
1,hp1310,USB001
Em linha de comando, tudo bem. Esse é um típico retorno. Está normal. A impressora default é uma HP1310.
Quando eu chamo a função getprinters() me retorna 1
Você quer dizer que o retorno de GetPrinters(), ao invés de ser uma matriz, como esperado, é um dado numérico, cujo valor é 1?

E quanto ao erro em si, qual é a mensagem do erro? Ele ocorre exatamente naquela linha em que você executa GetPrinters()?
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 »

Uma experiência: coloque a WAPI como a primeira LIB na sua lista. Tente de novo e me diga qual o resultado.
[]'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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Maligno,

Fiz o que você recomendou.

No meu código fiz um teste chmando a função GetPrinters()

? GetPrinters()
INKEY(0)

Quando eu executo o meu programa me retorna o seguinte erro:

D:\CDX\SC>sc
Clipper (R) 5.2e Intl. (Rev. 216) BRITISH - ASCII Collation
DS=0297:0000 DS avail=4KB OS avail=1023KB
(0) Unrecoverable error 667: Eval stack fault
(Fixed heap=0KB/0)VMZÉ

Maligno decobri uma coisa, a fastlib que eu uso tem uma função com o mesmo nome: GetPrinter() e ela retorna 0 ou 1, eis a função:

GetPrinter()

Gets printer state

Syntax:

GetPrinter( [nPrinter] ) -> nStatus

nPrinter : Printer Number. 0 = LPT1, 1 = LPT2...
Defect verify the printer 0

Description:

Determines if the printer is ready, out of paper, if is off or there
is no printer.

Return:

A number indicating the printer state over the next list.
Eu removi a biblioteca fast52.lib do meu script e mesmo assim quando executo me retorna o erro acima.
Maligno escreveu:Uma experiência: coloque a WAPI como a primeira LIB na sua lista. Tente de novo e me diga qual o resultado.
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 »

a fastlib que eu uso tem uma função com o mesmo nome: GetPrinter() e ela retorna 0 ou 1
Aha!!! Pois era essa a minha desconfiança. Você colocou a WAPI em primeiro na lista do seu script e agora deu erro de "eval stack fault"? É isso? Se sim, tentou aumentar o "stack" no BLinker?

Se bem que eu sou muito cabreiro com esse negócio de aumentar o tamanho da pilha. Nunca fiz isso na vida e nunca tive qualquer problema. :(

Aliás, teria você alguma função recursiva perdida por aí?
[]'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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Maligno,

eu tentei usando o stack 512
Não deu o erro, mas também a função na me retornou nada.
Maligno escreveu:
a fastlib que eu uso tem uma função com o mesmo nome: GetPrinter() e ela retorna 0 ou 1
Aha!!! Pois era essa a minha desconfiança. Você colocou a WAPI em primeiro na lista do seu script e agora deu erro de "eval stack fault"? É isso? Se sim, tentou aumentar o "stack" no BLinker?

Se bem que eu sou muito cabreiro com esse negócio de aumentar o tamanho da pilha. Nunca fiz isso na vida e nunca tive qualquer problema. :(

Aliás, teria você alguma função recursiva perdida por aí?
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Você se refere a recursiva:
Você diz, funções com o mesmo nome das que fazem parte da wapi.lib?
a resposta é não.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Maligno,

Eu mudei a lib para o final e funcinou, vou testar a impressão para ver qual é.
Qualquer novidade eu posto :)Pos

Maligno,

Continuo com o:
(0) Unrecoverable error 667: Eval stack fault
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 »

asimoes escreveu:Você se refere a recursiva:
Você diz, funções com o mesmo nome das que fazem parte da wapi.lib?
a resposta é não.
Uma função é dita recursiva quando executa ela própria. Acontece que, havendo algum descontrole no código, a função pode chamar ela própria muitas vezes. Aí o "eval stack fault" é certo.
[]'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