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
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 escreveu:
Cancelamento de jobs de impressão do spooler
Isso eu não coloquei de propósito. Achei melhor deixar o cancelamento a cargo do usuário, ao invés de você oferecer isso a ele.
Uê, esta decisão sua, é recente ?. Eu tenho alguns casos de impressão que ainda utilizo o USB do Heveraldo (que imprime em forma gráfica) e quando quero cancelar a impressão me dá uma trabalheira. Sem contar o trabalho que dá esvaziar o spool de impressão que ja está na própria impressora. Pensei que incluindo essa opção seria mais rápido a eliminação do job no spooler.
Maligno escreveu:
- Execução no TRAY para verificação de arquivo
Repare que a idéia é de um tipo de scheduler. Não coloquei na lista por quê não passa de uma idéia. Como ele depende do modo residente, vou analisar isso só no fim dos finalmentes. Mas também não é crítico, não é essencial. Talvez eu nem faça.
Lembra que esta idéia surgiu na realização de mesnagens BORDACASTING ?. A principal idéia seria verificação de determinado arquivo e execução de uma BATCH pelo ouvidor no tray com o WAPI.
o din-din vem em primeiro lugar. Em outubro as coisas voltam aos eixos e ficará mais fácil e rápido esvaziar essa lista.
Mas é claro colega. Pagar as contas é primordial e eu aqui estou demandado mais trabalho para você... (não ligue para a minha anciedade). Temos que ficar agradecidos a você por esta oportunidade única.
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 »

Pensei que incluindo essa opção seria mais rápido a eliminação do job no spooler.
Pode acreditar, o trabalho de cancelar pelo seu programa seria o mesmo. Ou seja, sem garantia de que cancelaria de fato. É a mesma dificuldade que cancelar pelo spooler, justamente por quê se usa a interface do spooler. Seria trocar 6 por meia dúzia, mas com um agravante: fazendo pelo programa talvez o usuário nem perceba que o cancelamento não foi feito.
Lembra que esta idéia surgiu na realização de mesnagens BORDACASTING?. A principal idéia seria verificação de determinado arquivo e execução de uma BATCH pelo ouvidor no tray com o WAPI.
Broadcasting. Sim, isso também é viável, em conjunto com o scheduler. Aliás, isso me lembra que há alguns anos eu tinha um projeto de compartilhamento de tarefas entre máquinas distintas. Algo totalmente factível, SE eu levar adiante essa característica. Muito embora, eu próprio, no presente momento, não tenha mais a intenção de usar. Mas falar disso agora é colocar a carroça na frente dos bois. É melhor deixar para o momento oportuno. :)
[]'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
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Malígno!
Quando eu compilo o sistema só com a lib WAPI.LIB aparece o seguinte erro:
RMAKE 1.4 Copyright (c) 1989-1993 Computer Associates International, Inc.
RMAKE=/XS8000
BLINKER @ESTOQUE.LNK
__ __
(«») («») BLINKER DOS Extender and Windows Linker 7.00

___ Blink and you'll miss it !!

Copyright (c) Assembler Software Manufacturers, Inc. 1990-2002
All Rights Reserved. Serial # BR-055934. Fax (804) 784-2357.

BLINKER : 1115 : WAPI.LIB(COMPATIB) : 'DIRCHANGE' : unresolved external
BLINKER : 1115 : WAPI.LIB(COMPATIB) : 'DIRMAKE' : unresolved external
BLINKER : 1115 : WAPI.LIB(COMPATIB) : 'DIRNAME' : unresolved external
BLINKER : 1115 : WAPI.LIB(COMPATIB) : 'DISKNAME' : unresolved external
BLINKER : 1115 : WAPI.LIB(COMPATIB) : 'RAND' : unresolved external
BLINKER : 1115 : WAPI.LIB(COMPATIB) : 'RANDOM' : unresolved external

BLINKER : 0 Warning error(s), 6 Fatal error(s)

ESTOQUE.EXE (not created) (0.2 seconds)
Error RMAKE/R2001 Exit 1: 'BLINKER @ESTOQUE.LNK'
... daí eu coloco a CT.LIB e compila legal, mas na execução do sistema aparece o seguinte erro:
BLX286 : 1313 : exception error 0D : general protection fault, code = B800h

Active host is DPMI (v7.00 iP? 15360 Kb)

Reg Value Limit Base Flags Segment Module File
CS 023F 02FD 02A24264 FB00 08 ESTOQUE C:\...TOQUE\ESTOQUE.EXE
DS 02A7 FFFF 02996618 F300 15 ESTOQUE C:\...TOQUE\ESTOQUE.EXE
ES 038F 5FFF 02A26664 F300 ****
SS 02A7 FFFF 02996618 F300 15 ESTOQUE C:\...TOQUE\ESTOQUE.EXE

Código: Selecionar todos

 17 83 E9 06 89 0E 70 17 [IP] 8E C3 33 FF B4 FE CD 10 8C C3

[Registers]  AX=0003  BX=B800  CX=03D4  DX=E49A   CS:IP=023F:01CA
             SI=5056  DI=B39E  BP=B354  SP=B344
             FL=3206  NV UP EI NT PL NZ NA PE NC

[Stack value SS] 023F 017F 801C 038F B39E B354 02A7 5003 B354 018D 023F 3246
            [SP] 0001 25A6 0247 0000 B39E 5056 B39E 0082 B35C 203C 0247 0000

[Stack frame SS] B354 018D 023F 3246 0001 25A6 0247 0000 B39E 5056 B39E 0082
            [BP] B35C 203C 0247 0000 B366 2605 0247 0000 452E 0000 B5C6 021F
[/quote]

... bom, quando eu comprei o pagote de arquivos da GAS Informática para usar os índices NSX, veio um arquivo .obj e umas libs, dentre elas a PRO_EXO, bom ai eu substitui a CT.LIB pela PRO_EXO.LIB no arquivo .LNK...
... ai ele mostra o seguinte erro quando eu abro um arquivo qualquer no browser ou quando edito qualquer registro para getar campos, na hora de filtrar uma sequencia de registros, veja:

[quote]
(b)INDTMP (0)  Unrecoverable error 650: Processor stack fault
[/quote]

... dessa vez ele deu erro numa função que cria um índice temporário, mas outras vezes deu erra na função RESTSCR() e POEHORA(), vai depender do valor da variável STACK no script do blinker, quanto menor o sistema vai mais longe, ou seja, é inversamente proporcional, e ainda assim quebra a execução do sistema.

... pode ser que meu arquivo script do blinker, o ESTOQUE.LNK, esteja errado, veja ele:

[quote]
BLINKER EXECUTABLE EXTEND
BLINKER EXECUTABLE COMPRESS 1
BLINKER INCREMENTAL OFF
BLINKER OVERLAY UMB ON
BLINKER OVERLAY OPSIZE 40
STACK 150
BLI EXE CLI //F:101 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP" //TEMPPATH:"C:

OUTPUT ESTOQUE.EXE

BEGINAREA
FI ESTOQUE
FI NOTAS
FI SAIDAS
FI PRO_01F9
FI EST_FUN2
FI EST_OUTR
ENDAREA

LIB \GASPRO40\GASP52PM, DBFNSX, BLXCLP52
LIB WAPI
//LIB CT
LIB PRO_EXO
[/quote]

Posso mandar prá ti todo esse projeto e as libs para que tu tenha uma melhor visualização desse erro.

Desde já, agradeço a atenção.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
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 »

BLX286 : 1313 : exception error 0D : general protection fault, code = B800h
Seu sistema está tentanto acessar diretamente a RAM de vídeo, o que não se pode fazer quando o programa roda em modo protegido. Troque a CT.LIB (modo real) pela CTP.LIB (protegido).
substitui a CT.LIB pela PRO_EXO.LIB
Não conheço essa LIB, mas eu, particularmente, não faria isso. Mas se assim dá erro de pilha, o que se pode fazer é aumentar o espaço da pilha no script do BLinker, pelo comando STACK. Eu vi que você já fez isso, mas você informou 150 bytes. O valor default é 6148. Você diminuiu.
[]'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
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

É, realmente tem uma funfão de tratamento de vídeo, vou tirar ela prá ver o que acontece.

Link de sistema gerado em GAS usando o NODISIMP.
http://suportegas.com.br/portal/downloa ... ST_USB.ZIP

Link do sistema em GAS tentando usar a WAPI.
http://suportegas.com.br/portal/downloa ... STOQUE.ZIP
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
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 »

Desculpe. Mas pra mim não vai dar pra baixar e testar nada. Estou sem tempo algum. :)
[]'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 »

Clodoaldo, abra um novo post sobre o seu problema...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Foi mal, num quis ofender.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
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 »

Não ofendeu em nada. E se você tiver alguma questão relacionada à WAPI, pode postá-la aqui mesmo, se quiser.
[]'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 »

Maligno escreveu:O valor default é 6148. Você diminuiu.
Tentou aumentar o valor de STACKS no script do BLinker? Ficou no mesmo?
[]'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
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

Olá!
Tava tentando tocar .WAV com a WAPI mais da um erro de STACK FULL e resolvi o problema com o aplicativo WAV.EXE encontrado no site http://www.powerbasic.com/files/pub/pbwin/tools/, ficou rápido e não deu erro nenhum.

Valeu a atenção de todos.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
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 »

Seria equivalente a desconsiderar a WAPI.LIB e executar diretamente o utilitário:

WAPI.EXE -PLAYWAVE:ARQ.WAV,

com a vantagem de também poder reproduzir os sons do sistema. :)
[]'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
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

hum! não lembrei disso.
É que eu tava cego tentando achar uma lib para fazer isso e nem lembrei que a WAPI dá essa opção.

Valeu a dica.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar do usuário
clodoaldomonteiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 821
Registrado em: 30 Dez 2006 13:17
Localização: Teresina-PI
Contato:

Mensagem por clodoaldomonteiro »

E dá prá rodar MP3?
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
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 »

E dá prá rodar MP3?
Não do jeito que a WAPI está. Teria que ser utilizado outro recurso, ou dependente do Windows Media Player ou algo mais complexo. A idéia era fazer algo simples, com WAV apenas. :)
[]'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