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 »

asimoes escreveu:Eu mudei a lib para o final e funcinou, vou testar a impressão para ver qual é.
Mas a WAPI já estava no final. Não entendi.
(0) Unrecoverable error 667: Eval stack fault
Acrescentou o comando STACK <bytes>, como eu disse? Tenta colocar uns 10240 bytes pra ver se o pipoco continua. :)
[]'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 »

Fiz como você recomendou e o erro, te diz algo?:

WAPITMPDIR (0) Unrecoverable error 667: Eval stack fault
(Fixed heap=26KB/1)
Maligno escreveu:
asimoes escreveu:Eu mudei a lib para o final e funcinou, vou testar a impressão para ver qual é.
Mas a WAPI já estava no final. Não entendi.
(0) Unrecoverable error 667: Eval stack fault
Acrescentou o comando STACK <bytes>, como eu disse? Tenta colocar uns 10240 bytes pra ver se o pipoco continua. :)
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 »

Mesmo com o STACKS aumentado esse erro continua?
[]'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
rochinha
Administrador
Administrador
Mensagens: 4664
Registrado em: 18 Ago 2003 20:43
Localização: São Paulo - Brasil
Contato:

Mensagem por rochinha »

...
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar do usuário
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1297
Registrado em: 06 Jul 2004 00:44
Contato:

Mensagem por ANDRIL »

Maligno estou usando a lib atraves da funcao GetMyHandle() e Window2Top() no WIN98 e nao consigo devolver o focu à janela ao chamar um aplicativo externo.

O q percebi é que quando o aplicativo esta janelado ele volta mais em tela cheia nao.
Sera que nao teria como colocar no buffer do windows um comando tipo KEYBOARD chr(13) ao final da chamada a funcao Window2Top() para que seja devolvido o foco ao aplicativo em tela cheia.

**Nota: digo isso pq ao retornar da funcao Window2Top() e o aplicativo estando em tela cheia a barra da janela fica ativa porem o foco nao volta sendo necessario teclar ENTER, por isso, acho q se dentro (digo no final) da funcao vir acompanhada de ENTER acho q resolveria.

Só nao sei se é possivel colocar tal instrução.

Ate+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
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 »

Esse Windows 98 é um carma. :)))
Enxertar um código de tecla vai ficar complicado. Não sei se seria possível. Mas vou tentar olhar mais de perto o comportamento da função pra analisar alguma outra possibilidade. O diabo é que estou com a máquina meio parada. Estou instalando minhas tranqueiras num HD novo. Isso demora um pouquinho. Acho que só amanhã vou poder ver isso. Mas volto ao assunto. Pode aguardar.
[]'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!
tonyx
Usuário Nível 3
Usuário Nível 3
Mensagens: 303
Registrado em: 07 Jul 2004 15:26

RESP

Mensagem por tonyx »

NAO QUERENDO ME METER MAS A FUNCAO SWPRUNCMD
SERVIRIA NO XHARBOUR -
POIS O RUN START ARQUIVO,
ESTA TRAVANDO MEUS ARQUIVOS DE REDE LA, JA NO CLIP53 NAO

CARO MALIGUINO JA USOU O WORD EM SEUS SISTEMAS ???
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: RESP

Mensagem por sygecom »

tonyx escreveu:NAO QUERENDO ME METER MAS A FUNCAO SWPRUNCMD
SERVIRIA NO XHARBOUR -
POIS O RUN START ARQUIVO,
ESTA TRAVANDO MEUS ARQUIVOS DE REDE LA, JA NO CLIP53 NAO

CARO MALIGUINO JA USOU O WORD EM SEUS SISTEMAS ???
Não serve para xHarbour, essa é uma função do Blinker, vc pode usar o WINEXEC() ao inves do RUN basta linkar a WHAT32.LIB.
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 »

Você deveria abrir um novo tópico específico para essa questão do RUN. E, respondendo à sua pergunta, não. Eu nunca usei o Word em programa Clipper.
[]'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
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 »

ANDRIL escreveu:estou usando a lib atraves da funcao GetMyHandle() e Window2Top() no WIN98 e nao consigo devolver o focus à janela ao chamar um aplicativo externo.

Nota: digo isso pq ao retornar da funcao Window2Top() e o aplicativo estando em tela cheia a barra da janela fica ativa porem o foco nao volta sendo necessario teclar ENTER, por isso, acho q se dentro (digo no final) da funcao vir acompanhada de ENTER acho q resolveria.
Eu acho que fazer uma alteração desse tipo iria influenciar no aplicativo em execução nos outros casos que o WAPI funciona perfeitamente em WINXP ou até mesmo em modo janelado do WIN98. Para isso tem uma solução bem simples.

1. Eu crio uma variável de ambiente que indica qual é a versão do SO. Se preferir utilizar alguma biblioteca para fazer uso da definição da versão do WINDOWS vai da sua pessoa. Eu por exemplo não tive 100% de bom resultado no uso de biblioteca, pois me dava algumas divergências (não me pergunte o por quê ?). Mas decidí utilizar o comando VER do próprio Windows na linha de comando. Mas isso ja é outra questão que se precisar saber, podemos abordar mais tarde.

2. Uma vez que você de dentro da sua aplicação Clipper, identificar qual é o Ruindows utilizado, é dizer se for o WIN98, existe um aplicativo chamado Z.COM ora apresentado pelo Wagner que serve para identificar se a sessão está em modo JANELADO ou TELA-CHEIA (isso funciona somente para WIN98) e que você poderá conferir no seguinte link:

https://pctoledo.org/forum/viewto ... 3454#33454

3. Você sabendo que a aplicação está em TELA-CHEIA, dê uma mensagem em LOOPING pro usuário e que verifique se saiu dessa condição de TELA-CHEIA. Por tanto só irá pra frente até o usuário por si mesmo dar o ALT-ENTER.

Daí então, acho que irá funcionar perfeitamente para o seu caso, pois eu ja venho utilizando isto por causa de que não existe solução desse dilema. Bom seria se pudermos contar com uma opção no WAPI que desse o modo de exibição (em quaisquer versão do Windows). Mas isso é outro dilema... hihi
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, me permita fazer uma colocação de hipótese. Você possue duas funções relacionadas ao CLIBOARD. Uma delas é a função GETCLIPBOARD que somente lê e grava em arquivo o conteúdo do CLIPBOARD se for tipo TEXTO, no entanto quando for tipo DIB (imagem) dá retorno no arquivo de resultado como -31 (o que significa: "Objeto do Clipboard não suportado").

A outra função é SETCLIPBOARD e esta tem por finalidade enviar para o clipboard a STRING que é passado como segundo parâmetro da sua função.

Pergunto:

1. Tem como capturar a tela toda da sessão e determinar que tipo é se é do tipo DIB ou tipo TXT ?

2. Se a sua resposta acima for SIM: teria como fazer mais uma opção para que o CLIPBOARD seja ZERADO ?

Digo tudo isto, porque me parece justamente o contrário do comportamento do PRINTNOW e HARDCOPY. Entendeu a lógica ?.
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 »

Estou impolgado neste assunto porque acho que você vai conseguir fazer uma função que determine se a sessão está em modo JANELADO ou TELA-CHEIA.

Fiz testes capturando a tela através do ALT-PRTSCRN em ambos modos (JANELADO e TELA-CHEIA) e o resultado pareceu coerente com a apresentação da tela.

Quê raro que você ainda não tenha me respondido. Você deve estar muito ocupado ou está chetado comigo pelos cutucões que eu te fiz nesta manhã....
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
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Mensagem por asimoes »

Olá Maligno,

Continuo fazendo os testes com a WAPI, mas infelizmente não consigo sucesso.
rodando direto no prompt:

wapi -PRINT:hp1310;teste.txt;"teste";resulta.txt

Não imprime.

O job fica retido e também não exclui.

Pelo programa do everaldo usb.exe consegui imprimir. Ele foi feito em harbour?
:( Alexandre
►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
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

asimoes escreveu:Olá Maligno,

Continuo fazendo os testes com a WAPI, mas infelizmente não consigo sucesso.
rodando direto no prompt:

wapi -PRINT:hp1310;teste.txt;"teste";resulta.txt

Não imprime.

O job fica retido e também não exclui.

Pelo programa do everaldo usb.exe consegui imprimir. Ele foi feito em harbour?
:( Alexandre
xHarbour, usando a Classe WIN32PRN
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
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 »

Sygecom,

Eu queria passar um sistema pequeno meu para xharbour, é complicado?
Existe ALGUM tutorial FÁCIL para migrar?
O que é preciso?

[]´sjavascript:emoticon(':)Pos')
Positivo

sygecom escreveu:
asimoes escreveu:Olá Maligno,

Continuo fazendo os testes com a WAPI, mas infelizmente não consigo sucesso.
rodando direto no prompt:

wapi -PRINT:hp1310;teste.txt;"teste";resulta.txt

Não imprime.

O job fica retido e também não exclui.

Pelo programa do everaldo usb.exe consegui imprimir. Ele foi feito em harbour?
:( Alexandre
xHarbour, usando a Classe WIN32PRN
:)Pos :)Pos
Responder