Jump to content
Fivewin Brasil

Erro na Abertura de Arquivos com CDX


macs

Recommended Posts

Estou com um problema ao tentar abrir algumas tabelas.

Eu tenho que zapar a tabela para poder entrar no programa.

O erro apresentado é o seguinte:

Ocorreu um erro no aplicativo.

Se escolher 'Ignorar', terá que salvar os dados em um novo arquivo. Se escolher 'Fechar', o aplicativo será finalizado.

Bem, depois daí o programa é abortado, independente da opção que eu escolha.

Pessoal, não sei qual é o problema, mas todas as vezes que

eu gravo alguma informação nesta tabela, mesmo que seja por

fora (DBX ou DBU) ocorre este problem.

Ja recriei a tabela, ja alterei o LNK, ja fiz de tudo, mais não adianta.

Se alguem souber o que pode está acontecendo, me ajudem!!!!

Meu LNK:

BLINKER LINK VERSION 7.0

BLINKER INCREMENTAL OFF

BLINKER CLIPPER PAGE OFF

BLINKER CLIPPER SYMBOL OFF

BLINKER EXECUTABLE ALIGNMENT 128

BLINKER EXECUTABLE COMPRESS 1

BLINKER OVERLAY OPSIZE 50

NOBELL

MAP A,S

PACKCODE

PACKDATA

OUTPUT FOLHA

BEGINAREA

FILE FOLHA

FILE ARQUIVOS

FILE CAD_CTAP

FILE CAD_DEPE

FILE CAD_DEPT

FILE CAD_FOL

FILE CAD_FUN2

FILE CAD_FUNC

FILE CAGEDMAG

FILE CHEQUE

FILE CHEQUE1

FILE CHEQUE3

FILE CHEQUE4

FILE CHEQUE5

file COMUM

FILE DIRF

FILE EMPRESA

FILE ENTRADA

FILE ENTRADA2

FILE ENTRAFER

FILE ENTRARES

FILE FICHA

FILE FIO

file FUNC2

file FUNC3

FILE FUNCOES

file FUNC_GER

FILE F_HORARI

FILE F_HORTRA

FILE F_IAPAS

FILE F_IRRF

FILE F_SALFAM

FILE F_VALETR

FILE F_VALIDA

FILE HELP

FILE INIC

FILE L_CONS

FILE L_ETIQ

FILE L_REPO

FILE MOVFIXO

FILE PISMAG

FILE PONTO

FILE PROCADIA

FILE PROCESSA

FILE PROCOMP

FILE PROC_13O

FILE PROC_FOL

FILE RAIS

FILE RELAT

FILE RELAT1

FILE RELAT2

file RELAT3

file RELAT4

FILE RELATO

file RELNOVO1

FILE RENDIMEN

FILE RLMAIEQ

FILE RLMAIN

FILE ROT_BK

FILE ROT_RS

FILE R_ALTSAL

FILE R_CHEQUE

FILE R_CHQPAG

FILE R_CODAVU

FILE R_DIRFME

FILE R_FICHPO

FILE R_FXETAR

FILE R_MED13O

FILE R_RELAF2

FILE R_RELAFU

FILE R_TRATMP

FILE SEFIP

FILE SITUACAO

FILE TBR26

FILE TERMOS

FILE VIRADA

FILE VIRADIA

FILE C:\FW\OBJ\__WAIT.OBJ

FILE C:\FW\OBJ\MPAR.OBJ

LIB LIBFW

ENDAREA

DEFBEGIN

NAME FIVEWIN

DESCRIPTION 'Folha de Pagamento - GCI Informatica'

EXETYPE WINDOWS 3.1

CODE PRELOAD MOVEABLE DISCARDABLE

DATA PRELOAD MOVEABLE

STACKSIZE 20000

HEAPSIZE 8520

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

#------------------------------------------------------------------------------

# LIBS DO FIVEWIN

LIB C:\FW\LIB\FIVE

LIB C:\FW\LIB\FIVEC

LIB C:\FW\LIB\OBJECTS

LIB C:\FW\LIB\WINAPI

LIB C:\FW\LIB\BTNGET

#------------------------------------------------------------------------------

# LIBS DO CLIPPER 5.2e

LIB CLIPPER

LIB DBFCDX

LIB TERMINAL

LIB EXTEND

LIB CT

#

#----------------FIM DO ARQUIVO LNK--------------------------------------------

Márcio Augusto Cezar

Clipper 5.2 FW 2.5 Blinker 7.0 WORKSHOP

marcio.cezar@gmail.com

Editado por - macs on 01/04/2005 15:56:04

Link to comment
Share on other sites

citação:

Já tentou em outro computador? Qual windows está utilizando?

Kleyton

Clipper5.2E+Clipper5.3b+Blink7+FW2.0d

cleitonbala@bol.com.br


id=quote>id=quote>

Utilizo o Windows XP. Mas eu não posso me apegar a isso, pois este programa tem que rodar em qualquer versão do Windows.

Outra coisa, se eu mudo a ordem de abertura do arquivo, o problema fica dando na mesma sequência de abertura. Ex.:

CLIENTES.DBF

FORNECED.DBF

PRODUTOS.DBF

Se o problema estiver dando na abertua do arquivo PRODUTOS.DBF e eu mudar a sequencia para

PRODUTOS.DBF

CLIENTES.DBF

FORNECED.DBF

o erro fica dando na abertura de FORNECED.DBF.

Lembrando, não é FILES nem SET CLIPPER nem SetHandleCount

todos estão definidos como 250

Márcio Augusto Cezar

Clipper 5.2 FW 2.5 Blinker 7.0 WORKSHOP

marcio.cezar@gmail.com

Link to comment
Share on other sites

citação:

Ola

Como voce abre os arquivos.Poste parte do seu codigo

Yrece


id=quote>id=quote>

Há alguma diferença de abertura de arquivos com a forma do

clipper puro com o clipper + fw?

USE &Arq_Dbf. shared ALIAS &_Alias. VIA "DBFCDX" --> Desta forma funciona muito bem sem o FW.

Márcio Augusto Cezar

Clipper 5.2 FW 2.5 Blinker 7.0 WORKSHOP

marcio.cezar@gmail.com

Link to comment
Share on other sites

Ola Marcio

Se voce postar parte do seu código fica mais facil.

voce colocou na funcao main:

REQUEST DBFCDX // CHAMADA AO BANCO DBFCDX OU _DBFCDX

RDDSETDEFAULT( "DBFCDX" )// CARREGA RDD DEFINIDO NO CASO, *.CDX

DBSETDRIVER( "DBFCDX" )

Pelo que sei não há necessidade de colocar files ou set Clipper

Eu uso as Libs to clipper 5.3b

Como voce cria seus indices cdx

Yrece

Link to comment
Share on other sites

Macs Esperimente mudar a maneira de abrir incluindo esta funcão de abertura

Exemplo

FUNCTION NetUse( cDatabase, lOpenMode, lLeitura, nSeconds )

LOCAL lForever // Retry forever?

LOCAL cAlias

DEFAULT nSeconds TO NET_SECS

DEFAULT lLeitura TO .F.

RddSetDefault('DBFCDX')

lForever := ( nSeconds == 0 )

If Rat('\',cDataBase) > 0

cAlias := SubStr(cDatabase,Rat('\',cDatabase)+1,Len(cDatabase)-4)

ELSE

cAlias := cDatabase

EndIf

cAlias := SubStr(cAlias,1,At('.',cAlias)-1)

DO WHILE ( lForever .OR. ( nSeconds > 0 ) )

// lOpenMode determines o modo de abertura dos arquivos

IF lOpenMode

DbUseArea .T., 'DBFCDX',cDatabase,cAlias, .F., .F.) // Exclusivo

ELSE

DbUseArea(.T., 'DBFCDX', cDatabase, cAlias, .T., .F.) // Compartilhado

ENDIF

IF !NETERR()

RETURN ( .T. ) // NOTE

ENDIF

INKEY( NET_WAIT ) // Wait

nSeconds -= NET_WAIT

ENDDO

RETURN ( .F. ) // USE fails

Link to comment
Share on other sites

Olá Márcio

Veja se as suas configurações estão parecidas com esta :

//-------------------------------------------//

#include "FiveWin.ch"

extern DbfCdx

//-------------------------------------------//

SetCancel( .F. )

SET 3DLOOK ON

SetHandleCount(250)

REQUEST DBFCDX

RddSetDefault("DBFCDX")

Se não estiver pode ser aí o problema...

Espero ter te ajudado....

Um abraço

Valdir - Jundiaí - S.P.

FW23/CLIP52E/BLINKER7

Link to comment
Share on other sites

Olá.. Posso 'meter'o bedelho, Macs???

Primeiro, não concordo com isso em hipotese nenhuma.

BLINKER LINK VERSION 7.0

BLINKER INCREMENTAL OFF

BLINKER CLIPPER PAGE OFF

BLINKER CLIPPER SYMBOL OFF

BLINKER EXECUTABLE ALIGNMENT 128

BLINKER EXECUTABLE COMPRESS 1

BLINKER OVERLAY OPSIZE 50

Correto:

BLINKER CLIPPER SYMBOL OFF

BLINKER LINK VERSION 3.3

BLINKER EXECUTABLE COMPRESS 1

BLINKER EXECUTABLE ALIGNMENT 128

VERBOSE

NOBELL

BLINKER INCREMENTAL OFF

BLINKER PROCEDURE DEPTH 90

Segundo, Inverta isso, está errado...

LIB C:\FW\LIB\FIVE

LIB C:\FW\LIB\FIVEC

LIB C:\FW\LIB\OBJECTS

LIB C:\FW\LIB\WINAPI

LIB C:\FW\LIB\BTNGET

// Correto:

LIB C:\FW\LIB\BTNGET #// Libs de Terceiros, deveve vir antes das do FIVE.

LIB C:\FW\LIB\FIVE

LIB C:\FW\LIB\FIVEC

LIB C:\FW\LIB\OBJECTS

LIB C:\FW\LIB\WINAPI

Bad Boy - The HuntsMan Of E.A.J. Automação Comercial.

kapiaba@brfree.com.br

FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE

Link to comment
Share on other sites

Kapiaba, boa tarde... pode me explicar porque voce "Nao concorda com isso em hipotese nenhuma" ?

BLINKER LINK VERSION 7.0

BLINKER INCREMENTAL OFF

BLINKER CLIPPER PAGE OFF

BLINKER CLIPPER SYMBOL OFF

BLINKER EXECUTABLE ALIGNMENT 128

BLINKER EXECUTABLE COMPRESS 1

BLINKER OVERLAY OPSIZE 50

Correto: (porque assim seria o correto?)

nao vejo diferenca em uma ou outra...

BLINKER CLIPPER SYMBOL OFF

BLINKER LINK VERSION 3.3

isto eh para manter compatibilidade com o Blinker 3.3) usar desta forma somente se seu Blinker for muito antigo

BLINKER EXECUTABLE COMPRESS 1

isto aqui deixa o executavel menor, mas em contrapartida deixa a execucao mais lenta pois o processador tem que descompactar os blocos de execucao antes de executa-los

BLINKER EXECUTABLE ALIGNMENT 128 Ok

VERBOSE

isto aqui serve somente para mostrar mensagens de processamento do Blinker

NOBELL

isto aqui serve para que o Blinker nao de sinal sonoro quando termina)

BLINKER INCREMENTAL OFF Ok

BLINKER PROCEDURE DEPTH 90

(este parametro se voce nao informar o default do Blinker se nao me engano eh de 50 ou 60, este parametro permite que sua app execute uma cadeia de funcoes ate no maximo o numero de PROCEDURE DEPTH ... lembra do erro eval stack fault.. pois eh.. em alguns casos o aumento de PROCEDURE DEPTH resolve... mas cuidado.. um nomero muito grande vai detonar a memoria disponivel do sistema... principalmente nas apps em 16 bits.. (no xHarbour nao tem este tipo de configuracao...

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

FWH,(x)Harbour,xMate,Bcc,Clipper,Blinker,Exospace,MySQL,MsSQL,Oracle,Postgres,TopConn,ADS,SQLLib

Link to comment
Share on other sites

macs, boa tarde

no lugar disto:

USE &Arq_Dbf. shared ALIAS &_Alias. VIA "DBFCDX"

esperimente abrir assim...

USE (Arq_Dbf) shared ALIAS (_Alias) VIA "DBFCDX"

....

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

FWH,(x)Harbour,xMate,Bcc,Clipper,Blinker,Exospace,MySQL,MsSQL,Oracle,Postgres,TopConn,ADS,SQLLib

Link to comment
Share on other sites

BLINKER LINK VERSION 7.0

BLINKER INCREMENTAL OFF

BLINKER CLIPPER PAGE OFF

BLINKER CLIPPER SYMBOL OFF

BLINKER EXECUTABLE ALIGNMENT 128

BLINKER EXECUTABLE COMPRESS 1

BLINKER OVERLAY OPSIZE 50

Marllon... Se você ve diferença ou não... Eu vejo!

Neste modo como ele está fazendo, ele misturou diretivas de CLIPPER FOR DOS com as de CLIPPER FOR WINDOWS.

Vamos esperar que o Macs se pronuncie... Quanto ao executável ficar mais lento, só se for na sua máquina(Que deve ser uma CARROÇA como o @Say que tú usas) hehehehe.

Pois o Blinker gera OVERLAY, portanto, só 'explode' o módulo que eu chamo... Claro se o programa estiver MODULARIZADO... Você modulariza? Vai saber... Né não? Afinal de contas, ninguém nunca viu um programa seu... Por menor que fosse... Por que será... Medo? Vergonha do código ridiculo e @Say... Só Deus Sabe... hehehehehehehe. (Ueepa) Brincadeirinha... Peguei pesado... I'm sorry Marllon.

Macs... Verifique o modo como voce está abrindo o banco de dados, pois, para ZAPEA-LO, é necessário que você o abra em MODO EXCLUSIVO(.F.). Não o abra em MODO COMPARTILHADO(.T.)

Bad Boy - The HuntsMan Of E.A.J. Automação Comercial.

kapiaba@brfree.com.br

FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE

Editado por - kapiaba on 05/04/2005 18:11:43

Editado por - kapiaba on 05/04/2005 18:14:25

Link to comment
Share on other sites

citação:

Macs... Verifique o modo como voce está abrindo o banco de dados, pois, para ZAPEA-LO, é necessário que você o abra em MODO EXCLUSIVO(.F.). Não o abra em MODO COMPARTILHADO(.T.)

Bad Boy - The HuntsMan Of E.A.J. Automação Comercial.

kapiaba@brfree.com.br

FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE

Editado por - kapiaba on 05/04/2005 18:11:43

Editado por - kapiaba on 05/04/2005 18:14:25


id=quote>id=quote>

Olá Kapiaba, fiz o que você acha o que é certo com relação ao LNK, apesar que não concordo. Mas não custa tentar!!!

Continua o mesmo problema. Com relação ao Zap, eu não dou via program, eu utilizo o DBX ou DBU para Zepar a tabela. Aí então eu entro normalmente, reindexo, gera tudo bonitinho. Mas quando inclu-o alguma informação.... aí vem a desgraça... tenho que zapar a tabela para entrar novamente

no programa.

Márcio Augusto Cezar

Clipper 5.2 FW 2.5 Blinker 7.0 WORKSHOP

marcio.cezar@gmail.com

Link to comment
Share on other sites

Envie para eu ver como você está fazendo... RMK, LNK, MODULO E DLL/RC etc... Não esqueça os bancos... ZIP tudo e mande... Vamos ver este mistério.... Abraços.

Como você está CRIANDO OS INDICES??? Mostre pra gente ssssiiiimmm???

Bad Boy - The HuntsMan Of E.A.J. Automação Comercial.

kapiaba@brfree.com.br

FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE

Editado por - kapiaba on 06/04/2005 13:32:24

Link to comment
Share on other sites

Caro amigo,

Já tive um problema parecido e resolvi fazendo a seguinte modificação no meu .lnk, apenas na linha que define as libs do clipper:

LIB Clipper, Extend, DbfCdx, _DbfCdx, Terminal

Note que acrescentei _DbfCdx.

Abro meu FORNECED.PRG da seguinte forma:

USE FORNECED ALIAS FORNECED SHARED NEW

IF ! FILE("FORNECED.CDX")

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;

BuildIndex( oMeter, oText, oDlg, @lEnd, "FORNECED->CODIGO", "FORNCODI" ) },;

"Indexando fornecedores por código...", "Espere um momento!" )

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;

BuildIndex( oMeter, oText, oDlg, @lEnd, "FORNECED->ITEM02", "FORNNOME" ) },;

"Indexando fornecedores por nome...", "Espere um momento!" )

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;

BuildIndex( oMeter, oText, oDlg, @lEnd, "FORNECED->ITEM10", "FORNFANT" ) },;

"Indexando fornecedores por fantasia...", "Espere um momento!" )

ENDIF

ordListClear()

OrdListAdd("FORNECED","FORNCODI", "FORNNOME", "FORNFANT")

Espero ter ajudado.

Ariston

Link to comment
Share on other sites

Caro amigo,

Já tive um problema parecido e resolvi fazendo a seguinte modificação no meu .lnk, apenas na linha que define as libs do clipper:

LIB Clipper, Extend, DbfCdx, _DbfCdx, Terminal

Note que acrescentei _DbfCdx.

Abro meu FORNECED.PRG da seguinte forma:

USE FORNECED ALIAS FORNECED SHARED NEW

IF ! FILE("FORNECED.CDX")

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;

BuildIndex( oMeter, oText, oDlg, @lEnd, "FORNECED->CODIGO", "FORNCODI" ) },;

"Indexando fornecedores por código...", "Espere um momento!" )

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;

BuildIndex( oMeter, oText, oDlg, @lEnd, "FORNECED->ITEM02", "FORNNOME" ) },;

"Indexando fornecedores por nome...", "Espere um momento!" )

MsgMeter( { | oMeter, oText, oDlg, lEnd | ;

BuildIndex( oMeter, oText, oDlg, @lEnd, "FORNECED->ITEM10", "FORNFANT" ) },;

"Indexando fornecedores por fantasia...", "Espere um momento!" )

ENDIF

ordListClear()

OrdListAdd("FORNECED","FORNCODI", "FORNNOME", "FORNFANT")

Espero ter ajudado.

Ariston

Link to comment
Share on other sites

Boa tarde a todos!!!

Pessoal, eu estou convertendo a folha de pagamento da empresa onde trabalho. O decidido era utilizar todas as funções existentes no programa, onde incluí esta bendita função de abertura que esta dando problema. Resolvi então rescrever a função, até mesmo pra dar uma enxugada no código.

Pois isto o pessoal não queria para não perder tempo, tendo em vista que a função sempre funcionou. Mas para elegria de

todos, consegui resolver o problema. Peço obrigado pela atenção e ajuda de todos.

Márcio Augusto Cezar

Clipper 5.2 FW 2.5 Blinker 7.0 WORKSHOP

marcio.cezar@gmail.com

Editado por - macs on 06/04/2005 13:55:42

Editado por - macs on 06/04/2005 13:57:00

Link to comment
Share on other sites

#------------------------------------------------------------------------------

# LIBS DO CLIPPER 5.2e

LIB CLIPPER

LIB DBFCDX #// 5.2e tem indice CDX???

LIB TERMINAL

LIB EXTEND

LIB CT # O que é isso???

# Veja se você nota alguma diferença no 5.3B

LIB C:\CLIP53\LIB\CLIPPER

LIB C:\CLIP53\LIB\DBFCDX, _DBFCDX #// Notou???

LIB C:\CLIP53\LIB\EXTEND

LIB C:\CLIP53\LIB\TERMINAL

Bad Boy - The HuntsMan Of E.A.J. Automação Comercial.

kapiaba@brfree.com.br

FW 2.3C CLIPPER 5.3B BLINKER 7.0 WORKSHOP.EXE

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...