Compilar em Modo Protegido

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Compilar em Modo Protegido

Mensagem por ALEX BORELLI »

Ola amigos

Compilava no modeo real, em funcao das mensagens memory low estou tentando compilar em modo protegido com rodando o Six3 com NSX.

Quero muito usar o SIX, mas nao estou conseguindo, por favor, me ajudem!

Esta aparecendo o erro "General Protect Failed".

Segue abaixo meu .lnk

Código: Selecionar todos

BLINKER INCREMENTAL OFF 
BLINKER CLIPPER PAGE OFF 
BLINKER link XMS ON 
BLINKER EXECUTABLE EXTENDED 2048 
BLINKER HOST MESSAGE ON 
BLINKER HOST DPMI ON 
BLINKER HOST VCPI ON 
BLINKER HOST XMS ON 
BLINKER PROCEDURE DEPTH 70 
BLINKER EXECUTABLE COMPRESS 1 


OUTPUT ESTOQUE.EXE

BEGINAREA
   FILE ESTOQUE
   FILE PSLIB
   FILE PSLIB2
   FILE PSLIB3
   FILE PSLIB4
   FILE PSLIB5
   FILE PSLIB6
   FILE PSLIB7
   FILE PSLIB8
   FILE PSLIB9
   FILE PSLIB10
   FILE PSLIB11
   FILE PSLIB12
   FILE PSLIB13
   FILE PSLIB14
   FILE PSLIB15
   FILE PSLIB19
   FILE ESCOLA
   FILE FORMAS
   FILE NOTAS
   FILE COTACAO
   FILE AUTOR
   FILE EDITORA
   FILE COLECAO
   FILE PRODUTOS
   FILE PSLIB16
   FILE APAGAR
   FILE FORNECE
   FILE arqtext
   FILE besc
   FILE PSLIB20
   FILE KITS
   FILE \CLIPPER5\LIB\TIMESLIC.OBJ
   FILE \CLIPPER5\LIB\__WAIT.OBJ 

ENDAREA

LIB \CLIPPER5\SOURCE\PE\PE.OBJ
LIB \CLIPPER5\LIB\NANFOR
LIB \CLIPPER5\LIB\OSLIB
LIB \CLIPPER5\LIB\CPMI.LIB
LIB \CLIPPER5\LIB\DIVIDE52.OBJ
LIB \CLIPPER5\LIB\VIEWER.LIB
LIB \CLIPPER5\LIB\RELOGIO
LIB \CLIPPER5\LIB\PCTERROR.OBJ
LIB \CLIPPER5\NSX52\DBFNSX.LIB
LIB \CLIPPER5\LIB\BLXCLP52.LIB
LIB \CLIPPER5\LIB\BLXRATEX.LIB
Alex Borelli
Alex Borelli
Arpa Sistemas
www.arpasistemascom.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 »

ALEX BORELLI escreveu:"General Protect Failed".
Provavelmente este erro pode estar sendo gerado por uma biblioteca que não foi devidamente preparada para operar no modo protegido. Existem alguns detalhes técnicos envolvidos que, se não respeitados, inviabilizam o uso de algumas peças de código. Minha desconfiança vai para os arquivos DIVIDE52.OBJ, VIEWER.LIB e RELOGIO.LIB. Mais para esse último. O jeito será você remover alguns e ver se tudo funciona ou não. Comece pelo relógio. :)

Quando ao link, tem muita coisa que pode ser removida, pois ou não faz mais sentido ou não tem utilidade alguma que justifique seu uso. Começando pelo BENGINAREA/ENDAREA. Qualquer coisa relacionada a overlay é ignorada quando se usa o modo protegido. Está no help. Quanto às exclusões, veja quais são comparando o script original com o que fiz abaixo. O que excluí é coisa que eu próprio nunca usei.

Código: Selecionar todos

BLINKER INCREMENTAL OFF 
BLINKER EXECUTABLE EXTENDED 2048 
BLINKER PROCEDURE DEPTH 70 
BLINKER EXECUTABLE COMPRESS 1 

OUTPUT ESTOQUE.EXE

FILE ESTOQUE
FILE PSLIB
FILE PSLIB2
FILE PSLIB3
FILE PSLIB4
FILE PSLIB5
FILE PSLIB6
FILE PSLIB7
FILE PSLIB8
FILE PSLIB9
FILE PSLIB10
FILE PSLIB11
FILE PSLIB12
FILE PSLIB13
FILE PSLIB14
FILE PSLIB15
FILE PSLIB19
FILE ESCOLA
FILE FORMAS
FILE NOTAS
FILE COTACAO
FILE AUTOR
FILE EDITORA
FILE COLECAO
FILE PRODUTOS
FILE PSLIB16
FILE APAGAR
FILE FORNECE
FILE arqtext
FILE besc
FILE PSLIB20
FILE KITS
FILE \CLIPPER5\LIB\TIMESLIC.OBJ
FILE \CLIPPER5\LIB\__WAIT.OBJ 

LIB \CLIPPER5\SOURCE\PE\PE.OBJ
LIB \CLIPPER5\LIB\NANFOR
LIB \CLIPPER5\LIB\OSLIB
LIB \CLIPPER5\LIB\CPMI.LIB
LIB \CLIPPER5\LIB\DIVIDE52.OBJ
LIB \CLIPPER5\LIB\VIEWER.LIB
LIB \CLIPPER5\LIB\RELOGIO
LIB \CLIPPER5\LIB\PCTERROR.OBJ
LIB \CLIPPER5\NSX52\DBFNSX.LIB
LIB \CLIPPER5\LIB\BLXCLP52.LIB
[]'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!
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re:

Mensagem por ALEX BORELLI »

Maligno escreveu:
ALEX BORELLI escreveu:"General Protect Failed".
Existem alguns detalhes técnicos envolvidos que, se não respeitados, inviabilizam o uso de algumas peças de código. Minha desconfiança vai para os arquivos DIVIDE52.OBJ, VIEWER.LIB e RELOGIO.LIB.
Foi compilado sem os arquivos DIVIDE52.OBJ, VIEWER.LIB e RELOGIO.LIB e continuou o erro "General Protect Failed".

Com isso sobrou:

Código: Selecionar todos

 LIB \CLIPPER5\SOURCE\PE\PE.OBJ
LIB \CLIPPER5\LIB\NANFOR
LIB \CLIPPER5\LIB\OSLIB
LIB \CLIPPER5\LIB\CPMI.LIB
LIB \CLIPPER5\LIB\PCTERROR.OBJ
LIB \CLIPPER5\NSX52\DBFNSX.LIB
LIB \CLIPPER5\LIB\BLXCLP52.LIB


Acredito que seja a Lib NANFOR.
Alex Borelli
Arpa Sistemas
www.arpasistemascom.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 »

Então você ainda tem algum objeto não preparado para o modo protegido. Mas verifique se o EXE antigo foi mesmo sobreposto pelo novo e se a linkedição foi completada, mesmo com os possíveis erros decorrentes da falta de alguns símbolos.
[]'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!
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re:

Mensagem por ALEX BORELLI »

Maligno, tudo certo, consegui compilar o Six3 com NSX.
O arquivo que nao tinha permitido compilar era o Nanfor e o Relogio.


Resultado:

Tamanho do indice que tinha .NTX: 25 MB
Tamanho do indice esta com .NSX: 6 MB

Tamanho do executavel modo real: 1.4 MB
Tamanho do executavel em modo protegido: 492 KB.


Obrigado pela ajuda meu amigo.

Alex Borelli
Alex Borelli
Arpa Sistemas
www.arpasistemascom.br
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re: COMPILAR EM MODO PROTEGIDO

Mensagem por ALEX BORELLI »

Acabou a alegria.....

Compilou certinho, mas no momento de fazer uma pesquisa e apareceu o seguinte erro (esse erro nao acontece se eu fazer a pesquisa em .NTX):

Código: Selecionar todos

  Called line     0 in CONTCLI                         ¦PALMAS
  Called line     0 in CLI_PESQ_A                      ¦DOIS VIZINHOS
 ¦   2941¦ALEX SANDRO  PINHEIRO                        ¦PATO BRANCO
BLX286 : 1313 : exception error 0D : general protection fault, code = 0000h
 ¦  14971¦ALEXANDRA BALBINOT                           ¦CACADOR
Active host is DPMI (ß7.00 iP6 32768 Kb)               ¦OTACILIO COSTA
 ¦---------------------------------------------------------------------------
Reg  Value  Limit  Base       Flags  Segment  Module    File      ¯¯¯¯¯¯¯¯¯¯¯
CS   0277   E34B   01B54DB4   FB00     0F     ADM       C:\ADM\ADM.EXE Exata_
DS   0637   3FFF   01D0BA9C   F300     ****¯¯----¯¯¯¯¯¯¯¯¯¯¯------¯¯¯¯¯¯¯¯¯¯¯
ES   03B7   7FFF   000B8000   F300     ****CODIGO ou NOME p/Pesquisa !
SS   02CF   FFFF   01B3655C   F300     1A     ADM       C:\ADM\ADM.EXE

[Code byte CS] 8B 46 FC 57 56 8B 4E FE [IP] F3 A5 5E 5F 03 76 FA 03 7E F8

[Registers]  AX=000D  BX=0000  CX=0015  DX=0000   CS:IP=0277:5B83
             SI=3FFF  DI=07F6  BP=6D48  SP=6D3A
             FL=3202  NV UP EI NT PL NZ NA PO NC

[Stack value SS] 00FF 0005 0014 0005 0001 02CF 000B 3809 0637 2F4E 5247 4E2C
            [SP] 3F89 0780 02CF 00A0 00A0 0019 0050 6D82 520B 6D60 02CF C58C

[Stack frame SS] 3809 0637 2F4E 5247 4E2C 3F89 0780 02CF 00A0 00A0 0019 0050
            [BP] 6D82 520B 6D60 02CF C58C 03A7 5628 76B2 0000 0000 0018 004F
Alex Borelli
Arpa Sistemas
www.arpasistemascom.br
Avatar do usuário
Maligno
Membro Master
Membro Master
Mensagens: 6398
Registrado em: 06 Jul 2004 01:40
Localização: Londrina/PR

Re: Re:

Mensagem por Maligno »

ALEX BORELLI escreveu:O arquivo que nao tinha permitido compilar era o Nanfor e o Relogio.
O arquivo do relógio até entendo, mas a NanFor não dá problema nenhum no modo protegido. A não ser que sua versão seja antiga. A última versão, que eu uso aliás, é a 3.05. Veja no NG que versão você está usando.
[]'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!
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re: Re:

Mensagem por ALEX BORELLI »

Voce sabe o que pode estar acontecendo no meu erro acima?
Alex Borelli
Arpa Sistemas
www.arpasistemascom.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 »

ALEX BORELLI escreveu:no momento de fazer uma pesquisa e apareceu o seguinte erro (esse erro nao acontece se eu fazer a pesquisa em .NTX):
Uma vez que você está usando a biblioteca SIX, você tem de incluir pelo menos duas LIBs: SIX3.LIB e o objeto vinculado ao índice que deseja usar. Se for NSX, será o SIXNSX.OBJ. E agora que vi em outra mensagem que você não incluiu a SIX3.LIB e usou um tal de DBFNSX.LIB que eu nem nunca ouvi falar. É isso mesmo ou você já corrigiu?
[]'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
ANDRIL
Usuário Nível 5
Usuário Nível 5
Mensagens: 1298
Registrado em: 06 Jul 2004 00:44
Contato:

Re: COMPILAR EM MODO PROTEGIDO

Mensagem por ANDRIL »

Tente este link que eu alterei:

Código: Selecionar todos

BLINKER INCREMENTAL OFF 
BLINKER EXECUTABLE EXTENDED  
BLINKER EXECUTABLE COMPRESS 1 

OUTPUT ESTOQUE.EXE

FILE ESTOQUE
FILE PSLIB
FILE PSLIB2
FILE PSLIB3
FILE PSLIB4
FILE PSLIB5
FILE PSLIB6
FILE PSLIB7
FILE PSLIB8
FILE PSLIB9
FILE PSLIB10
FILE PSLIB11
FILE PSLIB12
FILE PSLIB13
FILE PSLIB14
FILE PSLIB15
FILE PSLIB19
FILE ESCOLA
FILE FORMAS
FILE NOTAS
FILE COTACAO
FILE AUTOR
FILE EDITORA
FILE COLECAO
FILE PRODUTOS
FILE PSLIB16
FILE APAGAR
FILE FORNECE
FILE arqtext
FILE besc
FILE PSLIB20
FILE KITS
FILE \CLIPPER5\LIB\TIMESLIC.OBJ
FILE \CLIPPER5\LIB\__WAIT.OBJ 
FILE \CLIPPER5\SOURCE\PE\PE.OBJ
FILE \CLIPPER5\LIB\DIVIDE52.OBJ
FILE \CLIPPER5\LIB\PCTERROR.OBJ

LIB \CLIPPER5\LIB\BLXCLP52.LIB
LIB \CLIPPER5\NSX52\DBFNSX.LIB
LIB \CLIPPER5\LIB\NANFOR
LIB \CLIPPER5\LIB\OSLIB
LIB \CLIPPER5\LIB\CPMI.LIB
LIB \CLIPPER5\LIB\VIEWER.LIB
LIB \CLIPPER5\LIB\RELOGIO
Estou considerando que vc esteja colocando a DBFNSX.LIB de acordo com o Rdd que vc colocou no seu sistema. Outra, se vc usa o relogio, pode usar a função showtime() da CTP.LIB, caso seja o problema ocasionado pela RELOGIO.LIB.

Até+
Clipper 5.2e / Blinker 5.1 / Harbour 3.2 / GTwvg
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re: COMPILAR EM MODO PROTEGIDO

Mensagem por ALEX BORELLI »

Vou testar, qualquer duvida / contribuicao posto aqui.
Alex Borelli
Arpa Sistemas
www.arpasistemascom.br
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re:

Mensagem por ALEX BORELLI »

Maligno escreveu:usou tal de DBFNSX.LIB que eu nem nunca ouvi falar. É isso mesmo ou você já corrigiu?
Maligno, e isso mesmo, voce pode copiar a lib neste endereco: http://www.livrariacasadolivro.com.br/nsx52.zip.
Mas ja estou compilando com a SIXNSX.OBJ e SIX3.OBJ
Alex Borelli
Arpa Sistemas
www.arpasistemascom.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 »

ALEX BORELLI escreveu:Maligno, e isso mesmo, voce pode copiar a lib neste endereco:
Agradeço o link, mas nem sei qual a utilidade desta LIB, se a SIX já me fornece tudo. Qual é a diferença entre elas?
[]'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!
ALEX BORELLI
Usuário Nível 3
Usuário Nível 3
Mensagens: 118
Registrado em: 24 Jan 2008 22:21
Localização: Concórdia - SC

Re:

Mensagem por ALEX BORELLI »

Maligno escreveu:
ALEX BORELLI escreveu:Qual é a diferença entre elas?
Nao sei a diferenca porque nao fiz um comparativo. Sei que e a Six e melhor, mas lembro que voce disse que nunca tinha viso a DBFNSX.LIB. Bem e mais uma opcao, so queria lhe mostrar. E Maligno, meus mais sinceros agradecimentos a voce, pois sempre tem me ajudado. E claro, aos outros amigos tambem.
Alex Borelli
Arpa Sistemas
www.arpasistemascom.br
Responder