[ DBFNTX/1010 Read error | BASE/1002 Undefined alias | COM2 ou COM1 em impressoras especiais | Windows Travamento do Teclado | Fantasma na rede?! | Win98 não SAMBA ?! (rede Linux) | DBCREATEIN(0) INTERNAL ERROR 4424 | Executaro Clipper no Windows ME / NT / 2000 | Erro R3005/R3006: x x Exhausted | GETENV() não lê no Windows NT/2000/XP | Dica anti-pirata ]
Não...! Perdi o DBF??? O que é isso??? Chame os caça-fantasmas...!
O DBF está corrompido. A solução é como trocar a água de uma garrafa rachada por uma garrafa nova, veja como:
- Abra o DBF com problema pelo DBASE, FoxBase ou outro.
- Execute o comando COPY STRUCTURE TO temp.dbf
- Abra o temp.dbf
- Execute o APPEND FROM <nome do arquivo corrompido>
- Delete o arquivo corrompido
- Renomeie o temp.dbf para o mesmo nome do arquivo corrompido
- Dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Quando o programa vai gravar os campos no arquivo aparece este erro??? E você tem certeza que que os aliases dos campos foram abertos??? E um alias que não existe no programa está acusando um erro??? De onde vem este alias??? Do além???
Esse problema não veio do além, veio de um arquivo de índice que você criou usando alias antes dos campos e agora você está abrindo o mesmo DBF com um alias diferente!
Por exemplo:
Você criou o índice assim:
USE ESTOQUE ALIAS EE INDEX ON EE->CODIGO TO ECOD
E no seu programa tem:
USE ESTOQUE ALIAS ES SET INDEX TO ECOD ES->CODIGO := nCOD
Entendeu?
Você deveria ter criado o índice assim:
USE ESTOQUE ALIAS EE INDEX ON CODIGO TO ECOD
Nunca crie arquivos de índice com alias nos campos, pois os aliases são incorporados pela chave do índice!!!
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
COM2 ou COM1 em impressoras especiais
Você não consegue acesso à COM1 ou a COM2 para imprimir em impressoras especiais, como impressoras de cheque, de código de barras, etc??? Já tentou de tudo??? -Chame os caça-fantasmas!!!
Essa você não imaginaria!!! No seu sistema deve existir um comando chamado SET DEFAULT TO <diretório>, que não tem nada a ver com portas seriais ou paralelas, mas um fantasma da Computer Associates faz uma bagunça com isso tudo... Este comando não precisa ser removido do programa, veja agora a melhor solução:
Antes de definir a COM1 ou COM2 e imprimir, faça o seguinte:
OD := SET( _SET_DEFAULT ) // Salva o diretório usado correntemente SET DEFAULT TO // limpa o set default SET PRINTER TO COM2
E quando o programa terminar de imprimir, use:
SET( _SET_DEFAULT, OD) // Restaura o diretório usado correntemente.
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Windows: "Um estouro interno de pilha causou a paralização desta sessão.
Altere a definição de STACKS em seu arquivo CONFIG.SYS e tente outra vez."
Você já alterou a definição de STACKS para o mínimo e o máximo, usou STACKSHIGH e fez a mesma coisa, usou o SCANREG, tentou até reinstalar o Ruindows, digo, Windows e suscitou a mesma mensagem??? -Chame os caça-fantasmas!!! (Antes que alguém queira formatar sua máguina!!!)
O problema está no registro de sistema do Windows, o USER.DAT, um arquivo escondido (Hidden) que se encontra no diretório do windows, faça o seguinte:
- Retire o atributo de escondido do arquivo, use ATTRIB -H USER.DAT;
- Renomeie o arquivo, para qualquer outra coisa parecida;
- Reinicie o computador (reset ou deligue e ligue);
O windows então não encontrará esse falho registro de sistema e restaurará uma cópia de segurança (back up) perfeita, automaticamente.
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Seu teclado travou?! Um fantasma possuiu seu teclado?! -Chame os caça-fantasmas!!! (Antes que alguém queira reiniciar a sua máquina!!!)
=>Retire o cabo do teclado e recoloque-o novamente! Resolve a maioria dos casos...!
Quem contou isso disse-me que essa era velha, mas como eu mesmo não sabia...
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
CAÇA-FANTASMA: Stefany Gomes, programador Delphi da BWN Consultoria e Assessoria LTDA.
Todos já sairam da rede, mas você ainda não consegue atualizar o sistema ou reindexar os índices??? Será que existe um fantasma acessando a rede?! -Chame os caça-fantasmas!!!
A culpa é dos usuários mal treinados!!! Fale com o responsável e mande-o transmitir a todos os usuários a forma correta de desligar as máquinas. Algum usuário deve estar desligando o computador simplesmente no botão de liga/desl., quando isto acontece o servidor continua interpretando que aquela máquina ainda está ligada e usando os mesmos arquivos, resultando numa conecção fantasma!!!
=>Solução: Derrube os usuários fantasmas pelo monitor do sistema no servidor, ou simplesmente reinicie o servidor.
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
CAÇA-FANTASMA: Marcos André, programador Delphi da BWN Consultoria e Assessoria LTDA, bacharel em Computação formado pela Universidade de Santos em SP.
Windows 98 não SAMBA?! (rede linux)
Para não ter que mudar o REGEDIT de todas as maquinas |
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Ainda não conseguiu fazer o seu SAMBA dançar no Windows 98??? -Chame os caça-fantasmas!!! (Antes que alguém te chame de perna de pau!!!) O Windows 98 faz encriptação de senha, aí está o problema! =>Solução: Vá no REGEDIT do Windows, dentro da chave: HKEY_LOCAL_MACHINE, System, Services, VxD, VNETSUP e crie um novo valor DWORD com o nome: EnablePlainTextPassword e coloque o valor 1. Obs.:CaseSensitive! |
DBCREATEIN(0) INTERNAL ERROR 4424
Na reindexação do sistema ou outra atividade intensa com arquivos está suscitando este erro??? Não tem nada errado com o sistema e você não sabe o que fazer??? -Chame os caça-fantasmas!!!
O que acontece é muito simples: o Clipper não está encontrando o diretório temporário definido no autoexec.bat normalmente porque não deve existir!
=>Solução: Digite o comando SET no prompt do DOS para ver para onde está sendo direcionado o diretório temporário.
Você deverá achar algo assim:
TEMP=C:\TEMP TMP=C:\TEMP
Neste caso o diretório temporário se chama TEMP e está localizado no drive C, que não existe. Basta criar este diretório para resolver o problema.
Caso não encontre estas linhas após o SET, então você deverá definir estas variáveis ambiente no seu autoexec.bat.
Assim:
SET TEMP=C:\TEMP SET TMP=C:\TEMP
CAÇA-FANTASMA: Oscar Milton dos Santos Almeida, Analista de Sistemas da Saturno Informática
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
EXECUTAR O CLIPPER NO WINDOWS ME / NT / 2000
Não consegue rodar o Clipper no Windows ME, NT ou 2000??? E agora?! -Chame os caça-fantasmas!!! (Antes que alguém mande você reinstalar outro Windows... )
Clipper no Windows Me
1. Editar o arquivo SYSTEM.INI na pasta Windows.
2. Localizar a seção [386Enh].
3. Incluir a linha "PerVMFiles=" seguido do número com a quantidade de arquivos necessários (30 já são adicionados como padrão pelo ME).
4. Reiniciar a máquina.
...outra maneira é:
1. Botão Iniciar.
2. Executar.
3. "MSCONFIG" e Enter.
4. Abrir a aba Ambiente.
5. Alterar "FILES=250" ou criar através de "Novo".
6. Reiniciar a máquina.
Windows NT e 2000
1. Editar o arquivo CONFIG.NT na pasta Windows\System.
2. Colocar "FILES=250".
CAÇA-FANTASMA: Anderson Cardoso Silva
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Erro R3005/R3006: Internal Space/Symbol Table Exhausted
Seu sistema não está mais compilando?! Estava tudo certinho, tudo bonitinho e agora não compila nada?! E agora?! -Chame os caça-fantasmas!!! (antes que você atrase tudo!)
RMake error "R3005: Internal space exhausted"
O tamanho padrão da área de trabalho interna do RMake é 2048 bytes, mas você pode aumentar esta área especificando um número maior com o parâmetro /XW do Rmake.
Para deixar isso padrão, coloque: SET RMAKE=/xw10240 no seu AUTOEXEC.BAT
RMake error "R3006: Symbol table exhausted"
Ocorrerá quando a tabela de símbolos interna não for suficiente. Por padrão, o Clipper acomoda apenas 500 símbolos. Você pode consertar o erro aumentando o valor do parâmetro especificado em /XS no RMake.
Para deixar isso padrão, coloque: SET RMAKE=/xs1024 no seu AUTOEXEC.BAT
CAÇA-FANTASMA: Anderson Cardoso Silva
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
GETENV() não funciona no Windows NT/2000/XP ?!?!?!
Você sabe aquela função GETENV() que serve para retornar o valor de uma variável ambiente do MS-DOS ? Já tentou por algum motivo ler a variável COMSPEC, OS ou qualquer outra que o Windows NT/2000/XP definem automaticamente? Então você já tentou fazer isso:
IF "CMD.EXE" $ UPPER(GETENV("COMSPEC")) ? "Se usa CMD.EXE e nao COMMAND.COM é Windows NT/2000/XP" ENDIF
...e não deu certo???
Aí você se invocou e viu o resultado do comando VER do MS-DOS em todas as versões do Windows e... Criou uma outra infalível como a abaixo:
aWV := {0, "Windows nao encontrado!"} RUN ("VER >WV.TXT") IF FILE("WV.TXT") cVER9 := MEMOREAD("WV.TXT") FOR nTKW := 1 TO MLCOUNT(cVER9) cLINHA90 := ALLTRIM( UPPER( MEMOLINE(cVER9, ,nTKW) ) ) DO CASE CASE "WINDOWS 95" $ cLINHA90 aWV := {1, "Windows 95"} CASE "WINDOWS 98" $ cLINHA90 aWV := {2, "Windows 98"} CASE "WINDOWS MILLENNIUM" $ cLINHA90 aWV := {3, "Windows ME"} CASE "WINDOWS XP" $ cLINHA90 aWV := {4, "Windows XP"} CASE "WINDOWS NT" $ cLINHA90 aWV := {5, "Windows NT"} CASE "WINDOWS 2K" $ cLINHA90 .OR. "WINDOWS 2000" $ cLINHA90 aWV := {6, "Windows 2000"} CASE "WINDOWS" $ cLINHA90 // outra versao... aWV := {7, cLINHA90} ENDCASE NEXT FERASE("WV.TXT") ENDIF RUN ("ECHO %COMSPEC% >DOS.TXT") RUN ("ECHO %OS% >OS.TXT") lNT = .F. IF "CMD.EXE" $ UPPER(ALLTRIM(MEMOREAD("DOS.TXT"))) lNT := .T. ENDIF IF "WINDOWS" $ UPPER(ALLTRIM(MEMOREAD("OS.TXT"))) lNT := .T. ENDIF
Caso lNT seja .T., é porque o Windows é NT, 2000 ou XP!!!
...e também não deu certo???
Ficou desesperado???
Teve vontade de desabafar calamidades???
Calma!!! -Chame os caça-fantasmas!!!
Faça o seguinte:
CAÇA-FANTASMA: Anderson Cardoso Silva
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Você quebra a cabeça montando um sistema e aí o cliente chama um outro "profissional" inescrupuloso, que usa o Valkyrie para decompilar o seu sistema à sua revelia? Com esta solução, isso não vai acontecer mais! É só criar um overlay externo "falso", inexistente...
Por exemplo, o arquivo "app.LNK" do sistema APP seria algo assim:
file app, errorsys beginarea section file geral section file relat // ... section into ops.ovl file ops // AQUI, O TAL OVERLAY EXTERNO "FALSO" endarea
O fonte "OPS.prg" pode conter qualquer coisa, por exemplo só um comentário, porque afinal ele não vai ser usado em lugar nenhum do sistema. Depois da compilação e linkagem, você apaga o "ops.OVL" e distribuir só o "app.EXE".
Na tentativa de decompilação do app.EXE, o Valkyrie vai abortar, mostrando algo como "missing overlay file" (overlay externo não localizado)...
CAÇA-FANTASMA: Eolo Ventura (Bonito - MS)
Agora dê um sorriso e diga: I'M AFRAID NO GHOST!!!
Você já caçou algum fantasma antes???
Então registre-se e acrescente seus comentários, seja também um caça-fantasma !
Comentários recentes