Page 1 of 1
Campos memo
Posted: Fri Aug 25, 2006 7:09 pm
by Jorge Jaurena
Hola a todos.
Tengo una dbf con _ memo y de vez en cuando aparecen _ de un memo a otro, creo que esta roto el archivo dbt, pero como repararlo sin perder datos, el viejo filefix de norton anda muy bien con las dbf pero no asi con los dbt.
Probe pasar los datos a un archivo igual pero vacio, y sin embargo el problema persiste.
Si alguien sabe como salir de esto, muy agradecido.
Saludos
Jorge Jaurena
Posted: Fri Aug 25, 2006 8:58 pm
by Antonio Linares
Jorge,
Que build de Harbour ó xHarbour estás usando ? De que fecha ?
Posted: Sat Aug 26, 2006 10:18 pm
by Jorge Jaurena
Estoy usando Harbour 41.0 el copyright dice 1999-2002.
Posted: Sun Aug 27, 2006 11:22 am
by Antonio Linares
Jorge,
Como ves, es bastante antiguo y se han modificado mucho los RDDs desde entonces.
Actualízate a un build más reciente. En la sección whatsnew de estos foros tienes builds recientes que puedes descargar.
Posted: Wed Aug 22, 2007 12:25 pm
by jrestojeda
Antonio:
Estamos utilizando la versión FWH/FWHX 7.01 January/2007 y aún así seguimos teniendo problemas con _ memos, es decir, en reiteradas oportunidades cuando grabamos un memo en un registro aparece en otro, y estamos compilando con el Harbour que viene en esa versión.
Ya hay alguna solución respecto a este tema?
Ya que tenemos problemas con muchos de nuestros clientes que utilizan nuestros sistemas.
El problema persiste ya sea utilizando el RDD de ADS como sin utilizarlo.
Desde ya muchas gracias.
Saludos Esteban
Posted: Wed Aug 22, 2007 12:59 pm
by Antonio Linares
Jorge,
Es preciso que construyais un ejemplo pequeño y autocontenido que reproduzca el problema, sin usar FWH, para que podamos reportarlo en la lista de desarrollo de Harbour y lo revisen
Es extraño puesto que nadie más ha reportado problemas con _ memo, y más aún si habeis probado con ADS, pero no por eso es imposible
Posted: Wed Aug 22, 2007 1:24 pm
by jrestojeda
Code: Select all
// ALTA, MODIFICACION Y ELIMINAR
Function ABMBanco(oDbf,oLbx,oDlg,nKey)
Local oDlg1,Btn1,Btn2,OldOrd,Reg,SiNo,VecLoc[0],VecProv[0],;
vCod,vRaz,vDir,vPro,vLoc,vTel,vCui,vPos,;
oCod,oRaz,oDir,oPro,oLoc,oTel,oCui,oPos
Reg:=oDbf:Recno()
CargoVec_Ban(oDbf,oDbfLoc,@VecLoc,"L")
CargoVec_Ban(oDbf,oDbfProv,@VecProv,"P")
IF nKey<>46
OldOrd:=oDbf:IndexOrder()
oDbf:SetOrder(1)
IF nKey=45
DEFINE DIALOG oDlg1 RESOURCE "ABM_BANCOS" OF oDlg TITLE "ALTA DE BANCOS"
oDbf:GoBottom()
oDbf:Blank()
vCod:=oDbf:CODIGO+1
vRaz:=SPACE(30)
vDir:=SPACE(30)
SELECT LOCALIDA
oDbfLoc:GoTop()
vLoc:=TRAN(oDbfLoc:CODIGO,"######")+" "+ oDbfLoc:DESCRIP
SELECT PROVINC
oDbfProv:GoTop()
vPro:=TRAN(oDbfProv:CODIGO,"######")+" "+ oDbfProv:DESCRIP
SELECT BANCOS
vPos:=0
vTel:=SPACE(30)
vCui:=SPACE(13)
oDlg1:Update()
ENDIF
IF nKey=13 .OR. nKey=1 .OR. nKey=77
DEFINE DIALOG oDlg1 RESOURCE "ABM_BANCOS" OF oDlg TITLE "MODIFICACION DE BANCOS"
oDbf:Load()
vCod:=oDbf:CODIGO
vRaz:=oDbf:RAZONSOC
vDir:=oDbf:DIRECCION
SELECT LOCALIDA
oDbfLoc:Seek(oDbf:LOCALIDA)
IF !oDbfLoc:Eof()
vLoc:=TRAN(oDbfLoc:CODIGO,"######")+" "+ oDbfLoc:DESCRIP
ELSE
vLoc:=SPACE(30)
ENDIF
SELECT PROVINC
oDbfProv:Seek(oDbf:PROVINCIA)
IF !oDbfProv:Eof()
vPro:=TRAN(oDbfProv:CODIGO,"######")+" "+ oDbfLoc:DESCRIP
ELSE
vPro:=SPACE(30)
ENDIF
SELECT BANCOS
vPos:=oDbf:CODPOSTAL
vTel:=oDbf:TELEFONO
vCui:=oDbf:CUIT
ENDIF
REDEFINE BTNBMP Btn1 ID 200 OF oDlg1 RESOURCE "FLOPPY" LEFT;
ACTION GraboBanco(nKey,vCod,oDbf,vRaz,vDir,vLoc,vPro,vPos,vTel,vCui),;
oDlg1:End();
PROMPT "Grabar"
REDEFINE BTNBMP Btn2 ID 201 OF oDlg1 RESOURCE "SALIR" LEFT;
ACTION oDlg1:End();
PROMPT "Salir"
IF nKey=1
Btn1:Disable()
ENDIF
REDEFINE GET oCod VAR vCod ID 100 OF oDlg1 PICTURE "######" WHEN(nKey=45);
VALID{||VerCodigo(vCod,oDbf)}
REDEFINE GET oRaz VAR vRaz ID 101 OF oDlg1 PICTURE "@!"
REDEFINE GET oDir VAR vDir ID 102 OF oDlg1 PICTURE "@!"
REDEFINE COMBOBOX oLoc VAR vLoc ITEMS VecLoc ID 103 OF oDlg1;
WHEN{||IniVectores(oLoc,VecLoc,oDbf:LOCALIDA)}
REDEFINE COMBOBOX oPro VAR vPro ITEMS VecProv ID 104 OF oDlg1;
WHEN{||IniVectores(oPro,VecProv,oDbf:PROVINCIA)}
REDEFINE GET oPos VAR vPos ID 105 OF oDlg1 PICTURE "######" VALID(oDbf:CODPOSTAL>=0)
REDEFINE GET oTel VAR vTel ID 106 OF oDlg1 PICTURE "@!"
REDEFINE GET oCui VAR vCui ID 107 OF oDlg1 PICTURE "##-########-#"
REDEFINE GET oDbf:OBSERVA MEMO ID 108 OF oDlg1
ACTIVATE DIALOG oDlg1 CENTERED
ENDIF
IF nKey=46
SiNo:=MsgNoYes("Esta seguro que desea eliminar el registro?",;
"Por favor, seleccione")
IF SiNo
oDbf:RecLock()
oDbf:Delete()
oDbf:Unlock()
ENDIF
ENDIF
oDbf:SetOrder(OldOrd)
oDbf:GoTo(Reg)
oLbx:Refresh()
oLbx:SetFocus()
Return nil
//
// GRABO EN LA BASE
Function GraboBanco(nKey,vCod,oDbf,vRaz,vDir,vLoc,vPro,vPos,vTel,vCui)
IF nKey=45
oDbf:Append()
ELSE
oDbf:RecLock()
ENDIF
oDbf:CODIGO :=vCod
oDbf:RAZONSOC :=vRaz
oDbf:DIRECCION :=vDir
oDbf:LOCALIDA :=VAL(SUBSTR(vLoc,1,6))
oDbf:PROVINCIA :=VAL(SUBSTR(vPro,1,6))
oDbf:CODPOSTAL :=vPos
oDbf:TELEFONO :=vTel
oDbf:CUIT :=vCui
oDbf:Save()
oDbf:Unlock()
Return nil
//
Te envío esta porcion de código donde hay un campo memo, "El de observación" no se si esto es lo que me estás pidiendo.
Saludos, Esteban