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!