Página 1 de 1

Ajuda para compilar com a WAPI.LIB(RESOLVIDO)

Enviado: 26 Mai 2009 15:52
por sambomb
Olá, eu estou dando manutenção em um projeto e precisei adicionar a wapi.lib do nosso amigo Maligno, só que as funções do compatib.prg não estão indo certo...

Preciso só da função Window2Top(), mas pra usar ela preciso do GetAppsInfo(), e pra essa eu preciso de outra e por ae vai...

Obs.: Eu não tenho o CA-Tools

Alguem sabe como contornar isso?

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 09:29
por Maligno
Você, ao que me parece, só vai precisar acrescentar as funções da CATools, que fazem parte da tal compatib.prg. No meu site tem: http://pub.buzinello.com/index.php?d=./ ... pper/libs/ . Instale os quatro arquivos na mesma ordem em que aparecem na página.
Depois, quando tiver mais tempo, vou substituir essa funções. Mas por enquanto a CATools é essencial.

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 09:49
por sambomb
quando tento instalar da o erro 359(eu acho)...
Descompactei os arquivos e o 1º que eu instalei foi o catools3_install, sabe aonde posso estar errando?

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 10:02
por Maligno
Não me lembro se a instalação da CATools ocorre normalmente, ou se precisa de algum artifício. Vou testar aqui.

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 10:18
por Maligno
Vai precisar instalar por meio de disquete. Mas resolvi de outra forma. Compactei e subi a CATools completa já instalada. É só baixar da mesma página e descompactar. :)

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 10:40
por sambomb
Consegui extrair aqui direitinho, o que eu devo adicionar no projeto?
O instalador modifica o autoexec.bat e outras coisas, é necessário alterar alguma coisa?

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 10:43
por Maligno
O ZIP está certinho. Acabei de testar. O problema é aí. Mas esses arquivos .SND são apenas amostras de sons. Pode ignorar, se quiser.

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 10:51
por sambomb
Editei o comentário já...

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 10:57
por Maligno
Você só precisa inserir nas variáveis de ambiente o SET OBJ=<path_catools> e SET LIB=<path_catools>, se não me falha a memória. Assim o Clipper vai conseguir encontrar os arquivos necessários à sua compilação.

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 11:21
por sambomb
Como devo pegar o handle da janela?
Tento pegar antes de perder o foco mais não está funcionando!
Eu rodo o aplicativo em tela cheia, mas ele não volta ao foco mesmo com o comando... ele fica na barra de tarefa esperando eu dar um enter ou clicar no barra...

Código: Selecionar todos

Procedure MyFunc()
Local aHandle := GetAppsInfo()

   Run("REPORT.EXE TMP.TXT") //-- Faz perder o foco da aplicação 
 
   Window2Top(aHandle[1,1])

Return


Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 12:18
por Maligno
Você poderia usar GetMyHandle(), ao invés de pegar o handle de todas as janelas. Seria mais ou menos assim:

Código: Selecionar todos

function MyFunc()
local nHandle := GetMyHandle()
Run("REPORT.EXE TMP.TXT")
Window2Top(nHandle)
return
Mas é bom verificar que número nHandle terá. Só por garantia. Se não funcionar, pode ser porque o programa extra sendo executado deve voltar o foco antes de terminar. Sua aplicação ganha o foco novamente, mas o perde outra vez pra aplicação. É só um chute. Não dá pra ter certeza sem testar. Mas pra ter certeza, você pode acrescentar uma parada ao código:

Código: Selecionar todos

function MyFunc()
local nHandle := GetMyHandle()
Run("REPORT.EXE TMP.TXT")
Inkey(0)
Window2Top(nHandle)
return
Depois que a relatório tiver sido impresso, pressione qualquer tecla. Se o foco voltar ao seu programa,...

Re: Ajuda para compilar com a WAPI.LIB

Enviado: 27 Mai 2009 14:12
por sambomb
Maligno escreveu:Depois que a relatório tiver sido impresso, pressione qualquer tecla. Se o foco voltar ao seu programa,...
O problema é exatamente eu ter que pressionar alguma coisa após sair do outro processo, e sim ele aguarda a finalização da outra janela para a execução do Window2Top...

O conteúdo da matriz é:
aHandle[1,1]: 1050460 //-- Tipo numérico
aHandle[1,2]: G:\prog\Roupa\GENIAL1\RCA.EXE //-- Nome do executável




Resolvido:
Eu criei um TXT com os valores da Matriz aHandle e consegui identificar que o meu winamp estava atrapalhando, eu uso ele embutido e com isso ele estava vindo antes:

Código: Selecionar todos

001 - {6227648, 13. Linkin Park - Little Things Give You Away - Winamp}
002 - {657456, Main Window}
003 - {5834066, G:\prog\Roupa\GENIAL1\RCA.EXE}
004 - {395410, GENIAL1}
005 - {526548, ImpGenial}
006 - {197276, MED - unregistered - [G:\prog\Roupa\GENIAL1\USB.prg]}
007 - {1378150, Disco local (C:)}
008 - {1312084, Clipper On Line • Editar Mensagem - Mozilla Firefox}
009 - {65694, Program Manager}
O certo seria pegar o 3º item da matriz e não o 1º como eu estava pegando, muito obrigado pela ajuda!!!