Una de tDatabase (Resuelto!!)

Una de tDatabase (Resuelto!!)

Postby jose_murugosa » Mon Sep 22, 2008 4: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 ...

Code: Select all  Expand view  RUN
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.

Code: Select all  Expand view  RUN
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.
Last edited by jose_murugosa on Mon Sep 29, 2008 1:10 pm, edited 1 time in total.
Saludos/Regards,
José Murugosa
"Los errores en programación, siempre están entre la silla y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay

Postby Antonio Linares » Mon Sep 22, 2008 7: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
User avatar
Antonio Linares
Site Admin
 
Posts: 42161
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jose_murugosa » Mon Sep 29, 2008 1: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:
Code: Select all  Expand view  RUN
::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 y el teclado y la IA!!"
User avatar
jose_murugosa
 
Posts: 1181
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 64 guests