FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Una de tDatabase (Resuelto!!)
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Una de tDatabase (Resuelto!!)
Posted: Mon Sep 22, 2008 04:32 PM
Tengo una función para la rutina de altas bajas y modificaciones de una base única.

Esta función que utiliza la antes mencionada carga los controles para editar ...

FUNCTION D_Categor( oDbf, oPage )
	LOCAL oChk
	REDEFINE GET oDbf[1]:Descrip    ID 101 OF oPage:aDialogs[1] update
	REDEFINE CHECKBOX oChk VAR oDbf[1]:Dentic ID 102 OF oPage:aDialogs[1] update
	REDEFINE BITMAP oBmp[2] ID 103 OF oPage:aDialogs[1] UPDATE ADJUST
	Act(oDbf)
RETURN nil


La función act, lo que hace es desplegar para el caso de que la base de datos sea categor ( por categorías) o razas, un bmp con el mismo nombre del 2do campo de la base o si no lo hay un bmp gris.

FUNCTION Act(oDbf)
	IF Upper(oDbf[1]:cFile)="CATEGOR"
		IF !lNuevo .and.   File(".\MMEDIA\" + IF(Len(Alltrim(oDbf[1]:aBuffer[2]))>8, Substr(oDbf[1]:aBuffer[2],1,8), Alltrim(oDbf[1]:aBuffer[2]) )+".BMP" )
			oBmp[2]:LoadBmp(".\MMEDIA\" + IF(Len(Alltrim(oDbf[1]:aBuffer[2]))>8, Substr(oDbf[1]:aBuffer[2],1,8), Alltrim(oDbf[1]:aBuffer[2]) )+".BMP")
		ELSE
			oBmp[2]:LoadBmp(".\MMEDIA\GRIS.BMP")
		ENDIF
	ELSEIF Upper(oDbf[1]:cFile)="RAZAS"
		IF !lNuevo .and.   File(".\MMEDIA\" + IF(Len(Alltrim(oDbf[1]:aBuffer[2]))>8, Substr(oDbf[1]:aBuffer[2],1,8), Alltrim(oDbf[1]:aBuffer[2]) )+".BMP" )
			oBmp[2]:LoadBmp(".\MMEDIA\" + IF(Len(Alltrim(oDbf[1]:aBuffer[2]))>8, Substr(oDbf[1]:aBuffer[2],1,8), Alltrim(oDbf[1]:aBuffer[2]) )+".BMP")
		ELSE
			oBmp[2]:LoadBmp(".\MMEDIA\GRIS.BMP")
		ENDIF
	ENDIF
return NIL


Funciona perfectamente si compilo con la tdatabase de julio, pero no con la que viene a partir de agosto.

Hasta ahora lo que hago es compilar la tdatabase de julio con el exe para no perder tiempo, pero me gustaría que pudiera funcionar con la actual.

gracias desde ya por su ayuda.
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM
Una de tDatabase (Resuelto!!)
Posted: Mon Sep 22, 2008 07:45 PM

José,

Puedes poner algunas traza en tu código ?

MsgInfo( oDbf[1]:cFile )

MsgInfo( oDbf[1]:aBuffer[2] )

y comparar la diferencia ? gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 1279
Joined: Mon Feb 06, 2006 04:28 PM
Una de tDatabase (Resuelto!!)
Posted: Mon Sep 29, 2008 01:01 PM
Antonio Linares wrote:José,

Puedes poner algunas traza en tu código ?

MsgInfo( oDbf[1]:cFile )

MsgInfo( oDbf[1]:aBuffer[2] )

y comparar la diferencia ? gracias


Antonio, el tema es que la nueva tdatabase tiene un nuevo método Setarea que establece a cFile como la ruta + el nombre de archivo, mientras que la anterior no tenía este método y establecía a cFile como el nombre del archivo sin la ruta.

Me parece mejor como está ahora.

Codigo Método SetArea Líneas 250 a 252 de tDatabase:
::cFile     = Alias( nWorkArea )
   if ::Used()
      ::cFile     = ( nWorkArea )->( DbInfo( DBI_FULLPATH ) )...


Ya está resuelto. :-)
Saludos/Regards,

José Murugosa

"Los errores en programación, siempre están entre la silla, el teclado y la IA!!"

Continue the discussion