Página 1 de 2
UNRECOVERABLE ERROR 5311
Enviado: 24 Jul 2007 07:53
por miracle
Bom dia, amigos!
Mais uma vez venho neste fórum encher a paciência de vocês...
"UNRECOVERABLE ERROR 5311 - CANNOT CREATE VM SWAP FILE". Me parece que é um erro relacionado ao índice. Mas, o que é isso e como eu resolvo?
Muito obrigado!
Enviado: 24 Jul 2007 08:00
por Pablo César
É erro de creação de arquivo de SWAP, que é utilizado para dar uma forcinha à memória. Verifique no seu script para compilação onde (qual pasta) está sendo apontada para criação, talvez onde você tenha escolhido não tem permissão (direito do usuário, quero dizer). Também seria bom nos dizer se a variável CLIPPER está declarada e com quanto (que valor ?). A outra causa possível (não creio que seja isso) é falta de espaço no disco ou diretório (não existe, esta pode ser também).
Enviado: 24 Jul 2007 08:12
por miracle
Nunca usei script de compilação. O que uso é um arquivo de lote com as seguintes linhas:
Código: Selecionar todos
cls
clipper %1
if not errorlevel 1 rtlink fi %1 lib clipper, extend, fglib31, six3
E meu autoexec.nt (no diretório C:\Windows\System32), está regulado assim:
Código: Selecionar todos
@echo off
REM AUTOEXEC.BAT nao ‚ usado para inicializar o ambiente MS-DOS.
REM AUTOEXEC.NT ‚ usado para inicializar o ambiente MS-DOS, a nao
REM ser que se especifique um arquivo de inicializa‡ao diferente
REM no arquivo de informa‡oes de programa (PIF) do aplicativo.
REM Instalar as extensoes CD ROM
lh %SystemRoot%\system32\mscdexnt.exe
REM Instalar o redirecionador da rede (carregar antes do dosx.exe)
lh %SystemRoot%\system32\redir
REM Instalar o suporte DPMI
lh %SystemRoot%\system32\dosx
REM Configuracoes do Clipper
SET CLIPPER=F200 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP" //TEMPPATH:"C:\TEMP"
SET INCLUDE=C:\CLIP52E\INCLUDE
SET LIB=C:\CLIP52E\LIB
SET OBJ=C:\CLIP52E\OBJ
SET PLL=C:\CLIP52E\PLL
PATH=C:\CLIP52E\BIN;C:\CLIP52E\NG;%path%
Será que é porque eu não tenho uma pasta chamada "Temp" no drive C ?

Enviado: 24 Jul 2007 08:14
por Pablo César
Caro Miracle, outra coisa. Você utiliza o NG (Norton Guide) ?. Ele é muito bom para auxilio de comandos/funções, sintaxes e mensagens de erros. Eu por exemplo utilizo o NG junto na execução do meu editor de texto (que é o QEDIT.EXE). Eu possuo uma BAT que chama os dois ao mesmo tempo e não fica nenhum resíduo na memória para execução do NG. Assim:
Arquivo Q.BAT:
Código: Selecionar todos
@ECHO SET CMDLINE=Q %1 %2 %3 %4 > \CMD.BAT
@C:\NG\NG.EXE QEDIT.EXE %1 %2 %3 %4
Na primeira linha eu crio uma variável onde guardo o ultimo comando utilizado na edição com QEDIT. Ela é útil quando você desliga o computador e não sabe onde parou a edição ou onde estava editado. Pois com o QEDIT.EXE você pode ir direto na linha onde parou, fazendo assim na linha de comando: QEDIT PROGRAMA.PRG /N123 (neste exemplo vai ir direto na linha 123)
Na segunda linha tem que chamar o NG onde estiver instalado e logo chamo o QEDIT com suas variáveis de parâmetros a fim de repassar para o QEDIT. Este é um dos meus recursos de configuração de meu ambiente de edição. Existem outros (mas eu aindo persisto assim).
Espero ter ajudado. Siga meu conselho, dê uma olhada como eu disse... ahhh esse arquivo BAT gravo na pasta WINDOWS (ou qualquer outro lugar que esteja no PATH designado)
Enviado: 24 Jul 2007 08:21
por Pablo César
miracle escreveu:
SET => Aqui parece que está separado da linha seguinte ou tem algum caracter estranho apague e faça de novo esta linha (dê uma olhada)CLIPPER=F200 //DYNF:8 //SWAPK:65535 //SWAPPATH:"C:\TEMP" //TEMPPATH:"C:\TEMP" => A pasta C:\TEMP existe ?
Eu por exemplo utilizo apenas:
SET CLIPPER=//F:120 //E:2000 //SWAPK:4096
PATH=C:\CLIP52E\BIN;C:\CLIP52E\NG;%path% => Eu não gosto de utilizar o %path% em lugar eu ponho o PATH COMPLETO.
Será que é porque eu não tenho uma pasta chamada "Temp" no drive C ?
Eu tiraria esse SWAP, acho desnecessário.
Enviado: 24 Jul 2007 08:39
por Maligno
miracle escreveu:Será que é porque eu não tenho uma pasta chamada "Temp" no drive C ?

Exatamente.
Enviado: 24 Jul 2007 08:39
por miracle
Hehehe! Falha minha...
Valeu, amgo!

Enviado: 24 Jul 2007 08:40
por Maligno
Pablo César escreveu:Eu tiraria esse SWAP, acho desnecessário.
Porque desnecessário, se ele usa o modo real?
Enviado: 24 Jul 2007 08:44
por Pablo César
Eu não utilizo na minhas compilações, essa pasta terá que ter em todo lugar onde for executado o aplicativo. Não é ?
Enviado: 24 Jul 2007 08:49
por Maligno
Exatamente. Ela será necessária. E foi necessária para ele. Daí o erro. Ma se você usa o modo protegido, dificilmente precisará de swap em disco. Mas se precisar e não tiver, pau no seu programa também. Portanto, como não faz diferença nenhuma e não atrapalha, eu sempre uso essa cláusula. Além do que, meu diretório TMP é necessário pra outras coisas. Já preciso tê-lo mesmo.
Enviado: 24 Jul 2007 09:06
por Pablo César
Mas se não me engano o próprio Clipper ja faz internamente um tipo de SWAP quando se vê em situação crítica... Falo isto porque as vezes tenho notado alguns arquivo temporários (que na verdade deviam ter sido deletados).
Enviado: 24 Jul 2007 09:09
por miracle
Ha, tá explicado! Então, em todos os lugares onde eu for rodar meu programa, devo criar a pasta "C:\TEMP".
Essa tal "compilação em modo protegido" como é feita?
Enviado: 24 Jul 2007 09:20
por Maligno
Pablo César escreveu:Mas se não me engano o próprio Clipper ja faz internamente um tipo de SWAP quando se vê em situação crítica... Falo isto porque as vezes tenho notado alguns arquivo temporários (que na verdade deviam ter sido deletados).
Faz, claro. Mas. sem especificação explícita, faz no diretório raiz do drive C. Há muitos anos não direcionava os SWAPs e os usuários sempre reclamavam da "sujeira". Então passei a direcionar pro TMP do meu diretório de instalação. Acabou a reclamação.
Enviado: 24 Jul 2007 09:23
por Maligno
miracle escreveu:Ha, tá explicado! Então, em todos os lugares onde eu for rodar meu programa, devo criar a pasta "C:\TEMP".
Essa tal "compilação em modo protegido" como é feita?
Uai! Mas no outro tópico você já usa o ExoSpace. Então já está gerando seu programa em modo protegido. Muito embora, o BLinker seja muito melhor pra isso.
Enviado: 24 Jul 2007 09:23
por Pablo César
Então teria como definir na parametrização do RTLINK para que ele crie a pasta caso não exista ?. E cómo é feito para linkar para obter o modo protegido com RTLINK ?. (nessa eu te peguei...)