Problemas de foco no TEF com a LLibg

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Problemas de foco no TEF com a LLibg

Mensagem por cainelli »

Caros colegas,

Estou tentando implementar o TEF em meu programa de frente de caixa e estou tendo problema com o foco. Quando fecha o gerenciador padrão, a minha aplicação continua minimizada.
Tenho outro sistema já homologado, q não utiliza a Llibg, esta em clipper puro, e este problema não ocorre.

Gostaria de saber se alguem teve este problema e como solucionou ?

Obrigado,

Marcello.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Mensagem por sygecom »

Tche, de uma procurada nos post recente que um outro colega estava com um problema parecido que se aplica para vc.....usando a Wapi.lib

Abraços
Leonardo Machado
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 »

[]'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!
cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Mensagem por cainelli »

Maligno,

inclui a WAPI.LIB em meu script, inclui no programa os comandos
MyHandle:=GETMYHANDLE()
.
.
.
Windows2Top(MyHandle)

compilo o programa e não dá nenhum erro, mas quando executo o programa me retorna:
C:\Prg_Clip\BSuper>R

BLX286 : 1313 : exception error 0D : general protection fault, code = B800h

Active host is DPMI (v6.00 iP6 15360 Kb)

Reg Value Limit Base Flags Segment Module File
CS 0267 02FD 02A378FC FB00 0D R C:\...CLIP\BSUPER\R.EXE
DS 029F FFFF 029A658C F300 14 R C:\...CLIP\BSUPER\R.EXE
ES 00C7 38C0 00110800 FB00 ****
SS 029F FFFF 029A658C F300 14 R C:\...CLIP\BSUPER\R.EXE

Código: Selecionar todos

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

[Registers]  AX=0003  BX=B800  CX=03D4  DX=0FAE   CS:IP=0267:01CA
             SI=50E2  DI=50AE  BP=E0B6  SP=E0A6
             FL=3206  NV UP EI NT PL NZ NA PE NC

[Stack value SS] 0267 017F 8010 00C7 50AE E0B6 029F 5003 E0B6 018D 0267 3246
            [SP] 0001 96BE 022F 0000 50AE 50E2 50AE 50AE E0BE 8C2A 022F 0000

[Stack frame SS] E0B6 018D 0267 3246 0001 96BE 022F 0000 50AE 50E2 50AE 50AE
            [BP] E0BE 8C2A 022F 0000 E0C8 97D9 022F 0000 0000 0000 0240 021F

C:\Prg_Clip\BSuper>[/quote]

Uso WinXP, Clip53, Blinker 6 e Llibg

Abaixo meu script para linkar:

[code]
FI R,CAIXA,ESTOQUE,FECHA,UTIL
FI AFISCAL,BEMATECH,MECAF
FI TEF
FI TIMESLIC
FI __WAIT_B
OUTPUT R.EXE
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F150 
BLINKER PROCEDURE DEPTH 140 
BLINKER EXECUTABLE NODELETE 
BLINKER EXECUTABLE COMPRESS 1 
BLINKER EXECUTABLE EXTENDED 
SEARCH \BLINKER\LIB\BLXCLP53
LIB \CLIP53\LLIBG\LIB\LLIBGR
LIB \clip53\LIB\CLIPPER
LIB \clip53\LIB\EXTEND 
LIB \clip53\LIB\DBFNTX 
LIB \clip53\LIB\TERMINAL
LIB \clip53\LIB\CT53
LIB \clip53\LIB\filizop
LIB \Clip53\LIB\WAPI
Marcello
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 »

cainelli escreveu:[Registers] AX=0003 BX=B800 CX=03D4 DX=0FAE CS:IP=0267:01CA
SI=50E2 DI=50AE BP=E0B6 SP=E0A6
FL=3206 NV UP EI NT PL NZ NA PE NC
Creio que esse erro nada tem a ver com a WAPI.LIB. Digo isso porque, pelo pedaço do erro acima, dá pra notar que a GPF foi gerada pela tentativa do programa em acessar diretamente a RAM de vídeo, coisa que a WAPI não faz. Aliás, ela sequer imprime coisa alguma.

Pra tirar a dúvida e descobrir exatamente qual função é a culpada pela GPF, faça o seguinte: acrescente no seu script de linkedição o comando map=map.txt s,a. Ele forçará o BLinker a gerar um mapa detalhado do seu EXE, que conterá os endereços de todas os objetos públicos que ele contém.
Após isso, execute seu programa da mesma maneira que deu a GPF, mas quando a GPF aparecer, não apague a tela. Apenas execute o utilitário BLIGPF, que provavelmente está no diretório BIN sob o diretório de instalação do Blinker. Ele tentará ler a tela e, lendo o mapa gerado, localizar a função causadora da GPF.
[]'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 »

Uso WinXP, Clip53, Blinker 6 e Llibg

Abaixo meu script para linkar:

Código:

FI R,CAIXA,ESTOQUE,FECHA,UTIL
FI AFISCAL,BEMATECH,MECAF
FI TEF
FI TIMESLIC
FI __WAIT_B
OUTPUT R.EXE
BLINKER INCREMENTAL OFF
BLINKER EXECUTABLE CLIPPER F150
BLINKER PROCEDURE DEPTH 140
BLINKER EXECUTABLE NODELETE
BLINKER EXECUTABLE COMPRESS 1
BLINKER EXECUTABLE EXTENDED
SEARCH \BLINKER\LIB\BLXCLP53
LIB \CLIP53\LLIBG\LIB\LLIBGR
LIB \clip53\LIB\CLIPPER
LIB \clip53\LIB\EXTEND
LIB \clip53\LIB\DBFNTX
LIB \clip53\LIB\TERMINAL
LIB \clip53\LIB\CT53
LIB \clip53\LIB\filizop
LIB \Clip53\LIB\WAPI
Tche, vc esta linkando a CT53.LIB e deve ser a CTP53.LIB

Abraços
Leonardo Machado
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 »

É verdade. Me passou batido. Até pensei que o colega usava o modo protegido há tempos. Nem me ocorreu de verificar isso.
Mas isso prova que eu estava certo numa coisa: a culpa não é da WAPI. :)))
[]'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!
cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Mensagem por cainelli »

Maligno,

Eu fiz o q vc falou. o map.txt esta lá mas qdo tento abri-lo dá :
ERROR: Not a valid Blinker 3.x-6.x .MAP file!: MAP.TXT
Tentei também salvar como MAP.MAP mas dá o mesmo erro.
ERROR: Not a valid Blinker 3.x-6.x .MAP file!: MAP.MAP

Outra coisa.

Se eu retiro as funções da WAPI do programa e compilo/linko novamente o mesmo roda normalmente.
Será q pode ser a versão do Blinker (6) ? ou alguma coisa errada no script de linkar ?

Marcello.
[/quote]
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 »

cainelli escreveu:Eu fiz o q vc falou. o map.txt esta lá mas qdo tento abri-lo dá :
ERROR: Not a valid Blinker 3.x-6.x .MAP file!: MAP.TXT
Tentei também salvar como MAP.MAP mas dá o mesmo erro.
ERROR: Not a valid Blinker 3.x-6.x .MAP file!: MAP.MAP
Sempre usei dessa forma e nunca deu problema. Apesar de que poucas vezes precisei de um mapa.
Se eu retiro as funções da WAPI do programa e compilo/linko novamente o mesmo roda normalmente.
Será q pode ser a versão do Blinker (6) ? ou alguma coisa errada no script de linkar ?
O seu script me parece certo. Imagino que você agora está usando a CTP53 da CATools. Você pode experimentar baixar a versão 7 (última) do BLinker. Tem na área "pub" do meu site. Link na minha assinatura. Mas não deveria fazer diferença, se sua instalação do BLinker v6 não está com pau.
[]'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 »

cainelli escreveu:Maligno,

Eu fiz o q vc falou. o map.txt esta lá mas qdo tento abri-lo dá :
ERROR: Not a valid Blinker 3.x-6.x .MAP file!: MAP.TXT
Tentei também salvar como MAP.MAP mas dá o mesmo erro.
ERROR: Not a valid Blinker 3.x-6.x .MAP file!: MAP.MAP

Outra coisa.

Se eu retiro as funções da WAPI do programa e compilo/linko novamente o mesmo roda normalmente.
Será q pode ser a versão do Blinker (6) ? ou alguma coisa errada no script de linkar ?

Marcello.
[/quote]

Use o Blinker 7.0 e tente usar o script abaixo:

Código: Selecionar todos

Blinker Incremental Off
Blinker Cache EMS 50%,50%
Blinker Cache XMS 50%,50%
Blinker Link EMS ON
Blinker Link XMS ON
Blinker Exec Clipper //Dynf:8 //F:254
Blinker Exec Comp 1
Blinker Exec Exte
Blinker Memo Pack 60
Search \BLINKER\LIB\BlxRatex
Search \BLINKER\LIB\BLXCLP53
Blinker Incr Pad 256
Blinker Over Page On
Blinker Over Opsi 60 
OUTPUT R.EXE

FI R,CAIXA,ESTOQUE,FECHA,UTIL
FI AFISCAL,BEMATECH,MECAF
FI TEF
FI TIMESLIC
FI __WAIT_B

LIB \clip53\LIB\CLIPPER
LIB \clip53\LIB\EXTEND
LIB \clip53\LIB\DBFNTX
LIB \clip53\LIB\TERMINAL
LIB \clip53\LIB\CTP53
LIB \clip53\LIB\filizop
LIB \Clip53\LIB\WAPI
Obs: vc esta usando o BLXCLP53 , só para lembrar vc tem que usar o clipper 5.3.

Abraços
Leonardo Machado
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 »

sygecom escreveu:Use o Blinker 7.0 e tente usar o script abaixo:
No que seu script é diferente que pode fazer diferença no caso? Não entendi. Aliás, BLXRATEX é para compatibilidade com o ExoSpace. Nada a ver com Blinker.
Obs: vc esta usando o BLXCLP53 , só para lembrar vc tem que usar o clipper 5.3.
Sim, o colega já disse que usa a versão 5.3.
[]'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!
cainelli
Usuário Nível 1
Usuário Nível 1
Mensagens: 39
Registrado em: 06 Nov 2004 11:14
Localização: Promissão/SP

Mensagem por cainelli »

Colegas,

Estou agora com Blinker7, alterei para LIB CTP53 e estou testando com o script q o colega enviou.

Código: Selecionar todos

Blinker Incremental Off 
Blinker Cache EMS 50%,50% 
Blinker Cache XMS 50%,50% 
Blinker Link EMS ON 
Blinker Link XMS ON 
Blinker Exec Clipper //Dynf:8 //F:254 
Blinker Exec Comp 1 
Blinker Exec Exte 
Blinker Memo Pack 60 
Search \BLINKER\LIB\BlxRatex 
Search \BLINKER\LIB\BLXCLP53 
Blinker Incr Pad 256 
Blinker Over Page On 
Blinker Over Opsi 60 
OUTPUT R.EXE 

FI R,CAIXA,ESTOQUE,FECHA,UTIL 
FI AFISCAL,BEMATECH,MECAF 
FI TEF 
FI TIMESLIC 
FI __WAIT_B 

LIB \CLIP53\LLIBG\LIB\LLIBGR
LIB \clip53\LIB\CLIPPER
LIB \clip53\LIB\EXTEND 
LIB \clip53\LIB\DBFNTX 
LIB \clip53\LIB\TERMINAL 
LIB \clip53\LIB\CTP53 
LIB \clip53\LIB\filizop 
LIB \Clip53\LIB\WAPI 
Inclui a linha LIB \CLIP53\LLIBG\LIB\LLIBGR porque uso a LLIBG.
O programa agora esta compilando e abrindo normalmente.

O problema agora é outro.

Estou pegando o handle logo na abertura do sistema, só q quando executo a função Window2Top(MyHandle) o foco não volta para a aplicação e se clico em seu atalho a tela fica toda desconfigurada.

Marcello.
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 »

cainelli escreveu:Estou pegando o handle logo na abertura do sistema, só q quando executo a função Window2Top(MyHandle) o foco não volta para a aplicação e se clico em seu atalho a tela fica toda desconfigurada.
É importante que você pegue o handle da janela do seu programa antes que ela saia de foco. Está fazendo isso?
Se sim ou não, é possível (nunca usei gráfico em DOS) que ao devolver o foco à janela do seu programa, sendo ele gráfico, que a tela fique toda desconfigura mesmo. Isso nada tem a ver com a WAPI. Ela apenas e tão somente tenta fazer o foco voltar à janela do seu programa através de um serviço da API do Windows. Nada mais.
[]'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 »

Estou pegando o handle logo na abertura do sistema, só q quando executo a função Window2Top(MyHandle) o foco não volta para a aplicação e se clico em seu atalho a tela fica toda desconfigurada.
Bom foi como vc mesmo disse agora o problema é outro...eu não uso a LLIBG...e não toh usando mais a WAPI.LIB , mas concerteza vai aparecer mais colegas para ajudar.....

Boa Sorte

Leonardo Machado
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 »

sygecom escreveu:não toh usando mais a WAPI.LIB , mas concerteza vai aparecer mais colegas para ajudar.....
Pode ser que sim, pode ser que 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!
Responder