Página 1 de 1
Compilar em Modo Protegido
Enviado: 16 Mai 2008 00:00
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
Enviado: 16 Mai 2008 06:30
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
Re:
Enviado: 16 Mai 2008 11:55
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.
Enviado: 16 Mai 2008 12:39
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.
Re:
Enviado: 16 Mai 2008 16:52
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
Re: COMPILAR EM MODO PROTEGIDO
Enviado: 16 Mai 2008 17:30
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
Re: Re:
Enviado: 16 Mai 2008 18:52
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.
Re: Re:
Enviado: 16 Mai 2008 18:55
por ALEX BORELLI
Voce sabe o que pode estar acontecendo no meu erro acima?
Enviado: 16 Mai 2008 18:58
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?
Re: COMPILAR EM MODO PROTEGIDO
Enviado: 17 Mai 2008 09:37
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é+
Re: COMPILAR EM MODO PROTEGIDO
Enviado: 17 Mai 2008 21:12
por ALEX BORELLI
Vou testar, qualquer duvida / contribuicao posto aqui.
Re:
Enviado: 26 Mai 2008 15:07
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
Enviado: 26 Mai 2008 18:34
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?
Re:
Enviado: 07 Jun 2008 11:25
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.