Unrecoverable error 37 : Exclusive Required
Moderador: Moderadores
-
ReinaldoFreitas
- Usuário Nível 2

- Mensagens: 97
- Registrado em: 02 Jul 2005 15:39
Unrecoverable error 37 : Exclusive Required
Ola, alguem sabe o porque deste erro ..
Unrecoverable error 37 : Exclusive Required
acontece quando vou executar o programa !!
Uso clip53 + exospace + optedit
Obribgado..
Unrecoverable error 37 : Exclusive Required
acontece quando vou executar o programa !!
Uso clip53 + exospace + optedit
Obribgado..
Iniciante em Xharbour / Hwgui
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Amiguinho
Este erro acontece porque vc colocou SET EXECLUSIVE OFF no inicio de seu programa.
Quando vc coloca este comando o aplicativo interpreta que voce esta trabalhando em modo SHARED ou compartilhado de suas tabelas, portanto requerendo um LOCK de registro ou de tabela para prosseguir.
Rastreie em seu aplicativo onde voce esta fazendo manutenção de alguma tabela sem travar o registro.
Para usar o seu sistema em modo compartilhado voce devera revisar os pontos em seu sistema onde voce grava informações em tabelas colocando LOCK nos registros que serão alterados nas tabelas.
Voce deve LOCK(travar) o registro antes de salva-lo na tabela e usar um COMMIT para liberar memória usada pelo registro.
Este erro também acontece quando voce executa PACK, ZAP, DELETE, DELETE ALL, REPLACE, REPLACE ALL, APPEND FROM, ETC.
Para os casos de PACK, ZAP, DELETE ALL, REPLACE ALL, APPEND FROM voce precisa travar toda a tabela usando FLOCK() ou USE tabela EXCLUSIVE.
Para os casos de DELETE, REPLACE basta travar o regsitro com RLOCK()
@braços :?)
Este erro acontece porque vc colocou SET EXECLUSIVE OFF no inicio de seu programa.
Quando vc coloca este comando o aplicativo interpreta que voce esta trabalhando em modo SHARED ou compartilhado de suas tabelas, portanto requerendo um LOCK de registro ou de tabela para prosseguir.
Rastreie em seu aplicativo onde voce esta fazendo manutenção de alguma tabela sem travar o registro.
Para usar o seu sistema em modo compartilhado voce devera revisar os pontos em seu sistema onde voce grava informações em tabelas colocando LOCK nos registros que serão alterados nas tabelas.
Voce deve LOCK(travar) o registro antes de salva-lo na tabela e usar um COMMIT para liberar memória usada pelo registro.
Este erro também acontece quando voce executa PACK, ZAP, DELETE, DELETE ALL, REPLACE, REPLACE ALL, APPEND FROM, ETC.
Para os casos de PACK, ZAP, DELETE ALL, REPLACE ALL, APPEND FROM voce precisa travar toda a tabela usando FLOCK() ou USE tabela EXCLUSIVE.
Para os casos de DELETE, REPLACE basta travar o regsitro com RLOCK()
Código: Selecionar todos
...
if registro = "NOVO"
append blank
else
rLock()
endif
replace ...
replace ...
replace ...
commit
...
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
raquelreis
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 18 Jul 2011 15:29
- Localização: à procura
Unrecoverable error 37 : Exclusive Required
Boa Tarde, estou com o mesmo problema ao compilar o programa
uso C nomeExecutável
Em anexo rmk
uso C nomeExecutável
Em anexo rmk
- Anexos
-
- C.RMK
- (5.41 KiB) Baixado 265 vezes
Keel
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Unrecoverable error 37 : Exclusive Required
Raquel, você já verificou todas as recomendações que o colega Rochinha fez ? Pois assim pelo script apenas não dá para saber nada e a questão baseia-se sobre algum erro no seu código fonte.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Unrecoverable error 37 : Exclusive Required
Amiguinhos,
Este erro também pode ocorrer caso a área que receberá os comandos não esteja ativa.
Por exemplo, abre-se duas tabelas, sendo que a ultima abertura sempre será vista como área ativa e então dá-se comandos de replace/append na primeira tabela sem selecionar sua área.
Au usar new estou informando ao programa que abra a árealivre mais próxima, sem me importar em numerá-las.
No exemplo acima vemos que a área ativa é a que possui a tabela vendas e portanto só poderei dar comandos de manutenção nesta área.
Caso eu queira dar comandos na área da tabelas clientes, deverei fazer assim:
Posso também dar os comandos de manutenção na área de clientes sem sair da área de vendas, assim:
Mas esta forma é muito avançada, ou seja, geralmente usamos quando não queremos comandos em nosso código, tornando o processamento do código mais rápido, pois não existe a necessidade de interpretação dos comandos em runtime.
A forma didática de programação é a melhor forma de se manter um código legível e qualquer programador na mesma linguagem poderá entender e manter o código.
Exemplo:
O código acima é entendido por nós, mas a maquina interpretará o seguinte:
Vejam que o pre-processador colocou _FIELD pois o mesmo se refere a um campo da tabela ativa e apesar de substituir o nome da tabela ficaria mais inteligível assim:
Caso fosse necessário salvar alguma informação na tabela vendas o ideal seria:
Se eu não selecionar a área antes e executar os comandos de manutenção na tabela vendas com certeza obterei o erro de exclusividade requerida, já que o comando APPEND BLANK ou a função dbAppend(), quando as tabelas foram abertas em modo compatilhado, processam travamento(lock) do registro.
Observação: O erro de exclusividade requerida também pode ocorrer se um registro for travado mas os comandos forem aplicados aos registros anteriores ou posteriores. Um lapso que neste caso pode ocorrer quando o registro é travado mas o ponteiro é posicionado à frente ou atrás e os comandos de manutenção são lançados.
Este erro também pode ocorrer caso a área que receberá os comandos não esteja ativa.
Por exemplo, abre-se duas tabelas, sendo que a ultima abertura sempre será vista como área ativa e então dá-se comandos de replace/append na primeira tabela sem selecionar sua área.
Código: Selecionar todos
use clientes shared new
use vendas shared new
No exemplo acima vemos que a área ativa é a que possui a tabela vendas e portanto só poderei dar comandos de manutenção nesta área.
Caso eu queira dar comandos na área da tabelas clientes, deverei fazer assim:
Código: Selecionar todos
select clientes
... // comandos
select vendas
Código: Selecionar todos
clientes->(dbAppend())
... // comandos
clientes->(dbCommit())
A forma didática de programação é a melhor forma de se manter um código legível e qualquer programador na mesma linguagem poderá entender e manter o código.
Exemplo:
Código: Selecionar todos
function teste()
use vendas shared new
use clientes shared new
append blank
replace nome with "JOSE"
replace email with "irochinha@hotmail.com.br"
commit
return .t.
Código: Selecionar todos
function teste()
dbUseArea( .T., , "vendas", , if(.T. .or. .F., !.F., NIL), .F., )
dbUseArea( .T., , "clientes", , if(.T. .or. .F., !.F., NIL), .F., )
dbAppend()
_FIELD->nome := "JOSE"
_FIELD->email := "irochinha@hotmail.com.br"
dbCommitAll()
return .t.
Código: Selecionar todos
function teste()
dbUseArea( .T., , "vendas", , if(.T. .or. .F., !.F., NIL), .F., )
dbUseArea( .T., , "clientes", , if(.T. .or. .F., !.F., NIL), .F., )
dbAppend()
clientes->nome := "JOSE"
clientes->email := "irochinha@hotmail.com.br"
dbCommitAll()
return .t.
Código: Selecionar todos
function teste()
dbUseArea( .T., , "vendas", , if(.T. .or. .F., !.F., NIL), .F., )
dbUseArea( .T., , "clientes", , if(.T. .or. .F., !.F., NIL), .F., )
dbAppend()
clientes->nome := "JOSE"
clientes->email := "irochinha@hotmail.com.br"
dbCommitAll()
dbSelectArea( "vendas" ) // ou simplesmente SELECT vendas
dbAppend()
vendas->nome := "JOSE"
dbCommitAll()
return .t.
Observação: O erro de exclusividade requerida também pode ocorrer se um registro for travado mas os comandos forem aplicados aos registros anteriores ou posteriores. Um lapso que neste caso pode ocorrer quando o registro é travado mas o ponteiro é posicionado à frente ou atrás e os comandos de manutenção são lançados.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Unrecoverable error 37 : Exclusive Required
Raquel, em resposta ao seu email, dei uma pesquisada na net e, pelo jeito, esse erro (Unrecoverable Error 37: Exclusive required) parece bem famoso, especialmente para usuários do Exospace (embora também aconteça com o Blinker).
O erro aparece no carregamento do EXEs grandes, antes de qualquer operação com arquivos, então não tem a ver com o bloqueio de arquivos ou registros (embora o nome pareça sugerir isso). O problema, pelo que dizem, é excesso de entradas na tabela de símbolos, o que faz o EXE ser compilado normalmente, mas terminado imediatamente ao ser carregado, gerando a mensagem.
O que achei, em resumo, como sugestão pra resolver o problema: "1) diminua a quantidade ou reuse símbolos, declarando-os como locais. 2) diminua o número de PRGs no arquivo CLP/LNK, de forma a compilar MENOS e MAIORES arquivos OBJ. 3) troque o Exospace pelo Blinker ou recompile a aplicação inteira e as LIBs." Em um dos posts que achei, um cara diz que, exatamente ao colocar o 209o. PRG no LNK, o erro aparece...
O erro aparece no carregamento do EXEs grandes, antes de qualquer operação com arquivos, então não tem a ver com o bloqueio de arquivos ou registros (embora o nome pareça sugerir isso). O problema, pelo que dizem, é excesso de entradas na tabela de símbolos, o que faz o EXE ser compilado normalmente, mas terminado imediatamente ao ser carregado, gerando a mensagem.
O que achei, em resumo, como sugestão pra resolver o problema: "1) diminua a quantidade ou reuse símbolos, declarando-os como locais. 2) diminua o número de PRGs no arquivo CLP/LNK, de forma a compilar MENOS e MAIORES arquivos OBJ. 3) troque o Exospace pelo Blinker ou recompile a aplicação inteira e as LIBs." Em um dos posts que achei, um cara diz que, exatamente ao colocar o 209o. PRG no LNK, o erro aparece...
-
raquelreis
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 18 Jul 2011 15:29
- Localização: à procura
Unrecoverable error 37 : Exclusive Required
Bom dia à todos,
Para não alterar o sistema, tentei linkar com o Blinker, mas está dando este erro.
"
BLINKER : link unnecessary as no input files have been changed
consorc.EXE (782 Kb) (0.3 seconds)
Programa muito extenso para ser colocado na memória
"
Comentei algumas funções e agora está dando este erro:
"
BLINKER : overlay opsize set to 40 Kb - minimum is 16 Kb (INITMENUS)
BLINKER : link unnecessary as no input files have been changed
consorc.EXE (782 Kb) (0.3 seconds)
Programa muito extenso para ser colocado na memória
"
Para não alterar o sistema, tentei linkar com o Blinker, mas está dando este erro.
"
BLINKER : link unnecessary as no input files have been changed
consorc.EXE (782 Kb) (0.3 seconds)
Programa muito extenso para ser colocado na memória
"
Comentei algumas funções e agora está dando este erro:
"
BLINKER : overlay opsize set to 40 Kb - minimum is 16 Kb (INITMENUS)
BLINKER : link unnecessary as no input files have been changed
consorc.EXE (782 Kb) (0.3 seconds)
Programa muito extenso para ser colocado na memória
"
Keel
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Unrecoverable error 37 : Exclusive Required
Amiguinha,
Abaixo mostro um exemplo de meu .LNK usado em minha versão DOS:
Use como base para montar o seu .LNK, não use o mesmo de sua versão anterior, remolde-o para uso com o BLinker.
A linhas que iniciam com # estão desativadas, veja no manual do BLinker como usá-las.
No bloco DEFBEGIN/DEFEND é possivel alteração da variável stack para melhoria do trato com variáveis e vetores no sistema.
Na linha LIB voce coloca o nome de todas as bibliotecas utilizadas por voce.
Na linha SEARCH é feita uma chamada de uma biblioteca de compatibilidade do BLinker com o Clipper.
Lembre-se que as pastas internas do BLinker estejam bem pateadas em sua sessão DOS.
Abaixo mostro um exemplo de meu .LNK usado em minha versão DOS:
Código: Selecionar todos
#BLINKER OVERLAY THRESHOLD 256
#BLINKER OVERLAY UMB OFF
#BLINKER CACHE XMS 50%,1024
#BLINKER CACHE EMS 50%,1024
BLINKER INCREMENTAL OFF
#BLINKER EXECUTABLE COMPRESS
#MAP A,S
PACKCODE
PACKDATA
DEFBEGIN
name FatAll
description 'Sistema de Faturamento Total'
#exetype Windows 3.1
code moveable discardable preload
data preload moveable
stacksize 9500
heapsize 1024
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
FILE NF,NFFU6,NFFU9,PE,ERRORSYS,REVISAO
FILE NFCAD,NFI01,NFI02,NFI03,NFI031,NFI032,NFI05,NFI05t,NFI06,NFI07
FILE NFFAT,NFFAT01,NFFAT02,NFFAT03,NFFAT04,NFFAT05,NFFAT06,NFFAT07,NFFAT08,NFFAT09,NFFAT10,NFFAT13,NFFAT09a,NFFAT09c
FILE NFFIN,NFFIN01,NFFIN02,NFFIN03,NFFIN04,NFFIN99
FILE NFEST,NFEST01,NFEST04,NFCON01,NFCON02,NFCON04
FILE NFUTL
FILE NFREL,NFRCL01,NFRCL02,NFRCL05,NFRCL06,NFRCL07,NFRCL09,NFRCL10,NFRELCLE,NFRELSER #,M****
LIB VISUAL,NFLIB,NANFOR,OSLIB,FAST
SEARCH BLXCLP52
OUTPUT NF
A linhas que iniciam com # estão desativadas, veja no manual do BLinker como usá-las.
No bloco DEFBEGIN/DEFEND é possivel alteração da variável stack para melhoria do trato com variáveis e vetores no sistema.
Na linha LIB voce coloca o nome de todas as bibliotecas utilizadas por voce.
Na linha SEARCH é feita uma chamada de uma biblioteca de compatibilidade do BLinker com o Clipper.
Lembre-se que as pastas internas do BLinker estejam bem pateadas em sua sessão DOS.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
raquelreis
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 18 Jul 2011 15:29
- Localização: à procura
Unrecoverable error 37 : Exclusive Required
Bom dia rochinha,
Refiz o LNK, mas continua com o mesmo erro.
Onde estou errando.
Retirei algumas linhas, pois davam erro.
Coloquei em FILE todos os obj que tenho no meu RMK.
Thank's
Agora está dande esse erro:
BLIKER 1102: no input files were specified
Como seu não tivesse nenhum arquivo para ser lincado....
Refiz o LNK, mas continua com o mesmo erro.
Onde estou errando.
Retirei algumas linhas, pois davam erro.
Coloquei em FILE todos os obj que tenho no meu RMK.
Thank's
Código: Selecionar todos
BLINKER INCREMENTAL OFF
PACKCODE
PACKDATA
DEFBEGIN
name FatAll
description 'Sistema de Faturamento Total'
#exetype Windows 3.1
code moveable discardable preload
data preload moveable
stacksize 9500
heapsize 1024
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
FILE confun1,confun2,confind,consorc,con1100,con1200,con1240,con1300,con1313,con1400
FILE con1500,con1510,con1520,con1530,con1540,con1550,con1560,con1570,con1580,con151a
FILE con151b,con151d,con151g,con1600,con1700,con1800,con1900,con1a00,con1b00,con1c00
FILE con1d00,con2100,con2140,con2170,con2180,con2160,conprov,con2200,con26c7,con220d
FILE con220i,con2300,con2400,con2460,con2500,con2600,con2650,con2630,con2680,con26c5
FILE con26c6,con2681,con2700,con2760,con2740,con2800,con2900,con2920,con29201,con2930
FILE con2960,con2970,con2a00,con2a05,con2a06,con2b00,con2c00,con2c01,con2c0B,con26c0
FILE con2620,con2c08,con2670,con2c09,con2d00,con2015,con2016,con20161,con20162,con20163
FILE con20164,con20165,con20166,con20167,con3100,con3200,con3240,con3300,con3700,con3800
FILE con3a00,con3b00,con3c00,con3d00,con3e00,con3f00,con4100,con4120,con4130,con4150
FILE con415d,con4160,con4200,con4213,con4216,con421a,con421b,con421c,con421d,con421e
FILE con421f,con421g,con421h,con421h3,con4220,con4223,con4230,con4233,con4240,con4250
FILE con4260,con4270,con4280,con4290,con420a,con42a1,con42b1,con4300,con4330,con4301
FILE con4350,con4350a,con4370,con45f1,con45f2,con43b0,con4302,con430e,con430f,con4400
FILE con4500,con4520,con4522,con4527,con4528,con4530,con4543,con4560,con4564,con4569
FILE con4580,con4581,con4586,con4570,con45f0,con4600,con4670,con4690,con46A1,con46A2
FILE con4700,con4710,con4720,con4730,con4740,con4750,con4760,con4770,con4780,con5300
FILE con5600,con5700,con6100,retbcn,conseg,rotina,recibos,conrece,concomp,termo
FILE con5100,conntx,calperc1
SEARCH BLXCLP52
OUTPUT consorc
BLIKER 1102: no input files were specified
Como seu não tivesse nenhum arquivo para ser lincado....
Keel
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Unrecoverable error 37 : Exclusive Required
Amiguinha,
Depois de DEFEND voce deve chamar em FILE pelo primeiro .PRG de sua aplicacao, ou seja:
Como o primeiro .PRg e o pai de todos os procedimentos ao linkar ele chamara as outras referencias e se o linker colocar qualquer um .PRG como inicial e possivel que de erro mesmo.
Ja em:
Verifique se os .OBJ estao na pasta e se nao falta nenhum.
Depois de DEFEND voce deve chamar em FILE pelo primeiro .PRG de sua aplicacao, ou seja:
Código: Selecionar todos
DEFEND
FILE consorc
Ja em:
Código: Selecionar todos
DEFBEGIN
name Consorcio
description 'Sistema de Controle de Consorcios'
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
raquelreis
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 18 Jul 2011 15:29
- Localização: à procura
Unrecoverable error 37 : Exclusive Required
Fiz as alterações e nada feito.
Vou tentar de Novo... desde o inicio.
Qualquer coisa aviso,
Obrigada a todos!!!
Vou tentar de Novo... desde o inicio.
Qualquer coisa aviso,
Obrigada a todos!!!
Keel
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Unrecoverable error 37 : Exclusive Required
Amiguinha,
Para que possamos lhe ajudar melhor, favor compactar o .LNK que voce montou e todos os .OBJ envolvidos e depois anexar o arquivo aqui neste tópico. Para mais detalhes de como anexar arquivos aqui no fórum, veja este tópico: https://pctoledo.org/forum/viewto ... =40&t=8000
E se possivel me diga qual o .OBJ que contem a entrada principal do sistema.
Para que possamos lhe ajudar melhor, favor compactar o .LNK que voce montou e todos os .OBJ envolvidos e depois anexar o arquivo aqui neste tópico. Para mais detalhes de como anexar arquivos aqui no fórum, veja este tópico: https://pctoledo.org/forum/viewto ... =40&t=8000
E se possivel me diga qual o .OBJ que contem a entrada principal do sistema.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
-
raquelreis
- Usuário Nível 2

- Mensagens: 87
- Registrado em: 18 Jul 2011 15:29
- Localização: à procura
Unrecoverable error 37 : Exclusive Required
Bom dia pessoal,
É o seguinte, depois de muitas tentativas,
Fiz o q vcs sempre vinham dizendo: "O sistema está muito grande..."
Começei a tirar uma funções, etc... E continuava...
Mas o engano foi meu, eu comentava no prg, mas não retirava o OBJ do LNK.
Então, começei fazendo isso, excluindo as referências dos OBJ.
Continuei com o Exoespace e o sistema, compilou, linkou e executou...
Preciso apenas filtrar melhor quais os obj que não preciso utilizar.
Obrigado à todos, vou continuar tentando usar o blinker 7, pois pelo que eu
entendi é melhor.
Feliz Ano Novo!!!
É o seguinte, depois de muitas tentativas,
Fiz o q vcs sempre vinham dizendo: "O sistema está muito grande..."
Começei a tirar uma funções, etc... E continuava...
Mas o engano foi meu, eu comentava no prg, mas não retirava o OBJ do LNK.
Então, começei fazendo isso, excluindo as referências dos OBJ.
Continuei com o Exoespace e o sistema, compilou, linkou e executou...
Preciso apenas filtrar melhor quais os obj que não preciso utilizar.
Obrigado à todos, vou continuar tentando usar o blinker 7, pois pelo que eu
entendi é melhor.
Feliz Ano Novo!!!
Keel
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
[]'s
_____________________________________________________________________________________
PROGRAMADOR é aquele que te resolve um problema que você não sabia que tinha, de uma maneira que você não compreende.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Unrecoverable error 37 : Exclusive Required
Melhor que o RTLINK, melhor que o ExoSpace: sem dúvidas. E sobre o BLINKER, quer meu conselho ? A primeira instância, apenas link de forma simples, só os prgs e libs que demandar e depois faça a otimização de uso de memória.Obrigado à todos, vou continuar tentando usar o blinker 7, pois pelo que eu
entendi é melhor.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- rochinha
- Administrador

- Mensagens: 4664
- Registrado em: 18 Ago 2003 20:43
- Localização: São Paulo - Brasil
- Contato:
Unrecoverable error 37 : Exclusive Required
Amiguinha,
Não é preciso retirar .OBJ a não ser que os mesmos nem sejam usados no sistema.
Como voce não nos deu noção de como esta usando o sistema não podemos dar mais informações.
Por exemplo se voce nos informar que esta executando o sistema puramente em DOS, daremos definições de como compilar com o Blinker neste ambiente.
O Blinker possue otimizações onde ao ser executado ele pode, levar todo .EXE para memória ou somente partes dele.
Veja a diferente entre dois .LNKs com o mesmo propósito
Tudo junto:
Neste exemplo voce pode notar que o executável será gerado contendo todos os módulos .PRGs e quando for executado, tudo irá para a memória. Se a mesma nãofor bem gerenciada, realmente faltará espaço para o programa na memória e eventualmente, arquivos de dados não serão abertos e se forem, os indices não serão abertos. Desta forma o erro pode ocorrer se a área do .DBF em questão estiver aberta mas a tabela não for carregada.
Usando overlays:
Neste segundo exemplo veja SECTION INTO NFCAD FILE onde:
SECTION INTO - diz ao Blinker que deverá colocar todos o módulos após FILE dentro de um overlay de nome NFCAD. E assim por diante.
BLINKER OVERLAY DYNAMIC
Diz ao Blinker que cada pedaço do programa(overlays) deverá alocar o devido tamanho de memória para o seu uso no momento que for chamado.
Perceba que no segundo caso o executável terá em seu módulo principal somente NF,ERRORSYS,NFFUNCAO. enquanto que os outros módulos estarão internamente em overlays dinamicos em NFCAD, NFFAT,NFREL,...
Veja também que NFFUNCAO esta ao lado do .PRG principal( NF )o que indica que a mesma contém funções genéricas que poderão ser chamadas de qualquer overlays que estiver ativo no momento do uso.
Só não me recordo se existe algum comando que diz ao Blinker para criar overlays em separado, ou seja, haveria um .EXE e vários .OVL.
Não é preciso retirar .OBJ a não ser que os mesmos nem sejam usados no sistema.
Como voce não nos deu noção de como esta usando o sistema não podemos dar mais informações.
Por exemplo se voce nos informar que esta executando o sistema puramente em DOS, daremos definições de como compilar com o Blinker neste ambiente.
O Blinker possue otimizações onde ao ser executado ele pode, levar todo .EXE para memória ou somente partes dele.
Veja a diferente entre dois .LNKs com o mesmo propósito
Tudo junto:
Código: Selecionar todos
FILE NF,ERRORSYS,NFFUNCAO
LIB NFLIB,MOUSE,CT
FILE NFCAD,NFI01,NFI02,NFI03,NFI04,NFI05,NFI06,NFI07, NFI08,NFI09,NFI10,NFI11,NFI12,NFI13,NFI14
FILE NFC01,NFC02,NFC03,NFC04,NFC05,NFC06,NFC07C,NFC08,NFC09,NFC10,NFC11,NFC12,NFC13,NFC14
FILE NFFAT,NFFAT01,NFFAT02,NFFAT03,NFFAT04,NFFAT05,NFFAT06,NFFAT71,NFWA
FILE NFFIN,NFFIN01,NFFIN02,NFFIN03,NFFIN04
FILE NFEST,NFEST01,NFEST07
FILE CTBILINC,CTBILI01,CTBILI02,CTBILI03,CTBILI04,CTBILI05
FILE CTBILC01,CTBILC02,CTBILC03,CTBILC04,CTBILC05
FILE CTBILREL,CTBILR01,CTBILR02,CTBILR04,CTBILR06,CTBILR07,CTBILR08,CTBILR11
FILE CTBILR12,CTBILR13,CTBILR14
FILE NFREL,NFRCL01,NFRCL02,NFRCL03,NFRCL04,NFRCL05,NFRCL06,NFRELCLE
FILE NFRFO01,NFRFO02,NFRFO03,NFRFO04,NFRFO05
FILE NFRTR01,NFRTR02,NFRTR05
FILE NFRFU01,NFRFU02,NFRFU03,NFRFU04
FILE NFRFA06,NFRFA07,NFRFA08,NFRFA10,NFRFA11,NFRFA12
FILE NFRFI13,NFRFI14,NFRFI18,NFRFI19,NFRFI20,NFRFI24
FILE NFRES25,NFRES25A,NFRES26,NFRES27,NFRES28,NFRES29,NFRES30,NFRES31,NFRES32,NFRES33,NFRES34
OUTPUT NF
Usando overlays:
Código: Selecionar todos
BLINKER OVERLAY DYNAMIC
BLINKER INCREMENTAL OFF
FILE NF,ERRORSYS,NFFUNCAO
LIB NFLIB,MOUSE,CT
BEGINAREA
SECTION INTO NFCAD FILE NFCAD,NFI01,NFI02,NFI03,NFI05,NFI06,NFI07, NFI08,NFI09,NFI10,NFI11,NFI12,NFI13,NFI14,NFI15,NFI16,NFI17,NFI18,NFI19,NFI20,NFI21,NFI22,NFI22e,NFI23,NFI24,NFI25,NFI26,NFI27
SECTION INTO NFCAD FILE NFC07C,NFC01,NFC02,NFC03,NFC05,NFC09,NFC14
SECTION INTO NFCAD FILE NFCTBI01,NFCTBI02,NFCTBI03,NFCTBI04,NFCTBI05
SECTION INTO NFCAD FILE NFCTBC03
SECTION INTO NFFAT FILE NFFAT,NFFAT01,NFFAT02,NFFAT03,NFFAT04,NFFAT05,NFFAT06,NFFAT07,NFFAT08,NFFAT09,NFFAT10,NFFAT13
SECTION INTO NFFAT FILE NFPRO01,NFPRO02,NFPRO04
SECTION INTO NFFIN FILE NFFIN,NFFIN01,NFFIN02,NFFIN03,NFFIN04,NFFIN99
SECTION INTO NFEST FILE NFEST,NFEST01
SECTION INTO NFREL FILE NFREL,NFRCL01,NFRCL02,NFRCL05,NFRCL06,NFRCL07,NFRCL09,NFRELCLE,NFRELSER
SECTION INTO NFREL FILE NFRFO01,NFRFO02,NFRFO05,NFRFO07
SECTION INTO NFREL FILE NFRTR01,NFRTR02,NFRTR05,NFRTR07
SECTION INTO NFREL FILE NFRFU01,NFRFU02,NFRFU05,NFRFU07
SECTION INTO NFREL FILE NFRFA06,NFRFA07,NFRFA08,NFRFA10,NFRFA10F,NFRFA11,NFRFA12,NFRFA13,NFRFA13A,NFRFA14
SECTION INTO NFREL FILE NFRFI13,NFRFI14,NFRFI15,NFRFI18,NFRFI19,NFRFI20,NFRFI22,NFRFI24
SECTION INTO NFREL FILE NFRES25,NFRES25A,NFRES26,NFRES27,NFRES28,NFRES29,NFRES30,NFRES31,NFRES32,NFRES33
SECTION INTO NFREL FILE NFCTBR01,NFCTBR02,NFCTBR04,NFCTBR06,NFCTBR07,NFCTBR08,NFCTBR11
SECTION INTO NFREL FILE NFCTBR12,NFCTBR13,NFCTBR14
ENDAREA
OUTPUT NF
SECTION INTO - diz ao Blinker que deverá colocar todos o módulos após FILE dentro de um overlay de nome NFCAD. E assim por diante.
BLINKER OVERLAY DYNAMIC
Diz ao Blinker que cada pedaço do programa(overlays) deverá alocar o devido tamanho de memória para o seu uso no momento que for chamado.
Perceba que no segundo caso o executável terá em seu módulo principal somente NF,ERRORSYS,NFFUNCAO. enquanto que os outros módulos estarão internamente em overlays dinamicos em NFCAD, NFFAT,NFREL,...
Veja também que NFFUNCAO esta ao lado do .PRG principal( NF )o que indica que a mesma contém funções genéricas que poderão ser chamadas de qualquer overlays que estiver ativo no momento do uso.
Só não me recordo se existe algum comando que diz ao Blinker para criar overlays em separado, ou seja, haveria um .EXE e vários .OVL.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para [url=mailto://fivolution@hotmail.com]fivolution@hotmail.com[/url]. Agradecido.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
@braços : ? )
A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
