Página 3 de 3

The NTVDM CPU has encountered an illegal instruction

Enviado: 14 Out 2014 13:00
por Clash
Outro detalhe... amigo Rochinha...
No seu .LNk do Blinker, nas linhas citadas abaixo o que eu preciso mesmo usar...

Código: Selecionar todos

19 #-- Configuracao Especial 
20 DEFBEGIN 
21    name        FiveWin 
22    description 'Clipper for Windows library' 
23    exetype     Windows 3.1 
24    code        moveable discardable 
25    data        preload moveable 
26    stacksize   17000 
27    heapsize    2048 
28    segment     'PLANKTON_TEXT' nondiscardable 
29    segment     'EXTEND_TEXT'   nondiscardable 
30    segment     'OM_TEXT'       nondiscardable 
31    segment     'OSMEM_TEXT'    nondiscardable 
32    segment     'SORTOF_TEXT'   nondiscardable 
33    segment     'STACK_TEXT'    nondiscardable 
34 DEFEND 
38 #-- Bibliotecas 
39 LIB Clipper, Extend, DbfNtx, DbfCdx, _DbfCdx, Terminal 
40   
41 #-- Arquivo principal e configuradores 
42 FILE NFW 
43 FILE BLXCLP53                     # Blinker DLL obj for the .EXE 
O BLXCLP53 fica me informando que não foi encontrado, então dentro do Blinker7.0 pasta OBJ copiei o arquivo para a pasta do meu sistema e agora apresenta os erros... para que serve o BLXCLP53?

abs.

The NTVDM CPU has encountered an illegal instruction

Enviado: 14 Out 2014 13:38
por rochinha
Amiguinho,
Vivemos e aprendemos
Em relação ao parâmetro MAP ele cria um mapa da aplicação, e estes arquivos podem ser vistos com extensão .MAP criados na pasta de compilação do aplicativo.

Não me lembro do seu uso, mas na prática seria para debug.

Outra coisa que você deve levar em consideração. Você faz menção e linka em seu script a BLXCLP52, agora você deve verificar se esta biblioteca está preparada para o modo de compilação que voce escolheu, ser for modo real, use as bibliotecas para este modo e vice-versa. Não é bom agregar bibliotecas de modo real e modo protegido, ou se trabalha com um modo ou outro.

Outro fator é:

Ao inserir a chamada à BLXCLP52.LIB voce deve incluir também a chamada à BLXCLP52.OBJ no seu script, sendo que este .OBJ ficará na linha anterior ao .OBJ principal.

Código: Selecionar todos

BLINKER EXECUTABLE EXTEND 2048
STACK 7068
MAP A,S

FI BLXCLP52.OBJ
FI RESTARQ2
...
SEARCH BLXCLP52
@CL520MID
@CDX520

The NTVDM CPU has encountered an illegal instruction

Enviado: 15 Out 2014 08:53
por Clash
Você faz menção e linka em seu script a BLXCLP52, agora você deve verificar se esta biblioteca está preparada para o modo de compilação que voce escolheu, ser for modo real, use as bibliotecas para este modo e vice-versa. Não é bom agregar bibliotecas de modo real e modo protegido, ou se trabalha com um modo ou outro.
Essa parte eu não entendo de forma alguma e sinceramente não entendi. Inclui essa BLXCLP53 depois que passei a usar o CDX. Quando ia compilar/linkeditar solicitava e fui incluindo. Como disse não uso bibliotecas para nada, a não a CDX, me sistema é bem "cru" de recursos e bibliotecas, é o basicão para orçamentos de balcão.

Mas antes de "mexer" mais vou pesquisar, estudar e me aprofundar mais. Obrigado Rochinha.

The NTVDM CPU has encountered an illegal instruction

Enviado: 15 Out 2014 09:49
por Clash
E um outro detalhe... essa configuração do Blinker sugerida...:

Código: Selecionar todos

#-- Configuracao Especial 
20 DEFBEGIN 
21    name        FiveWin 
22    description 'Clipper for Windows library' 
23    exetype     Windows 3.1 
24    code        moveable discardable 
25    data        preload moveable 
[b]26    stacksize   17000 [/b]27    heapsize    2048 
28    segment     'PLANKTON_TEXT' nondiscardable 
29    segment     'EXTEND_TEXT'   nondiscardable 
30    segment     'OM_TEXT'       nondiscardable 
31    segment     'OSMEM_TEXT'    nondiscardable 
32    segment     'SORTOF_TEXT'   nondiscardable 
33    segment     'STACK_TEXT'    nondiscardable 
34 DEFEND 
35 #-- Nome do arquivo de saida 
36 OUT NFW.EXE 
Está apresentando o erro:
run-time error R6000
- stack overflow

Se diminuo o valor ai já apresenta erro tb de memória.
Detalhe: Necessito mesmo desta BLXCLP53? Tem como usar a CDX sem ela, ou esta referência é um engano meu.?

The NTVDM CPU has encountered an illegal instruction

Enviado: 15 Out 2014 10:43
por rochinha
Amiguinho,

Na linha stacksize coloque múltiplos de 1024, tipo 1024, 2048, 3072, etc, até alcançar um espaço de memória que possa ser seguro.

The NTVDM CPU has encountered an illegal instruction

Enviado: 15 Out 2014 11:36
por Clash
Nossa amigo...

Na realidade estou perdido mesmo. Agora quanto mais eu mexi pior ficou. Nem sei mais quais dos .LNK´s salvos deu certo melhor.

Desculpe explorar sua ajuda... mas e qto a BLXCLP53, pode me explicar a função/funcionamento dela?

Grato.

Att.
Jean

The NTVDM CPU has encountered an illegal instruction

Enviado: 15 Out 2014 16:47
por rochinha
Amiguinho,

estas bibliotecas do Blinker tem funções de API de memória e outras coisas. Cada uma servindo para uma versão do Clipper.

Se você usa o Clipper 5.2 usa a BLXCLP52.lib e BLXCLP52.obj
Se você usa o Clipper 5.3 usa a BLXCLP53.lib e BLXCLP53.obj

Revise seus backups voce deve ter um .LNK antigo, ou faça um novo.

The NTVDM CPU has encountered an illegal instruction

Enviado: 16 Out 2014 12:47
por Clash
Pois é né... voltava backup das que funcionavam antes e nem assim. O curioso...? A que estava construindo com suas recomendações que apresentava o estouro de stack passou a funcionar. Ficando assim:

Código: Selecionar todos

#-- Configuracao do linker 
BLINKER INCREMENTAL OFF 
BLINKER CLIPPER SYMBOL OFF 
BLINKER CACHE XMS 50%,1024 
BLINKER CACHE EMS 50%,1024 
MAP A,S 
  
#-- Compactar codigo 
PACKCODE 
PACKDATA 
  
#-- Configuracao Especial 
DEFBEGIN 
   code        moveable discardable 
   data        preload moveable 
   stacksize   17000 
   heapsize    2048 
   segment     'PLANKTON_TEXT' nondiscardable 
   segment     'EXTEND_TEXT'   nondiscardable 
   segment     'OM_TEXT'       nondiscardable 
   segment     'OSMEM_TEXT'    nondiscardable 
   segment     'SORTOF_TEXT'   nondiscardable 
   segment     'STACK_TEXT'    nondiscardable 
DEFEND 
#-- Nome do arquivo de saida 
OUT SCA.EXE 
  
#-- Bibliotecas 
LIB DbfCdx, _DbfCdx, BLXCLP53

#-- Arquivo principal e configuradores 
FILE SCA 
FILE BLXCLP53                  # Blinker DLL obj for the .EXE 
  
#-- Lista de .OBJs 
FILE TIMESLIC
FILE SCA001
FILE SCA00131
FILE SCA00132
FILE SCA002
FILE SCA003
FILE SCA004
FILE SCA005
FILE SCA006
FILE SCA008
FILE SCA009
FILE SCA010
FILE SCA99PUB
FILE SCA99FUN
FILE SCA99AUX
FILE SCA99REL
FILE SCA99RED
Obrigado mais uma vez pelo apoio.

Próximo desafio... visual lib ..kkk abraço.

The NTVDM CPU has encountered an illegal instruction

Enviado: 16 Out 2014 15:32
por rochinha
Amiguinho,

As vezes é necessário compilar todos os .PRGs denovo.

The NTVDM CPU has encountered an illegal instruction

Enviado: 17 Out 2014 14:29
por Clash
Sempre!