Page 1 of 1

Sobre la clase DATABASE nativa de FWH

PostPosted: Wed Jan 30, 2008 6:58 pm
by mantonio_08
Tengo un pequeño problema con la utilizacion de DATABASE

cuando los programas eran SDI, solo se abrian un vez las DBF no habia q preocuparse mucho por el asunto de los alias y demas cosillas.. pero cuando tu aplicacion es MDI,, tengo el siguiente problema::

tengo dos Dbf una llamada Tabla.DBF y otra Tabla_1.Dbf

dentro de mi programa hay un mantenedor de dichas DBF, y en otro parte de mi programa existe un modulo de ingreso de valores, son gastos menores: el problema que presenta la clase DATABASE es que cuando abro al mismo tiempo las dos ventanas que a su vez abren la misma DBF ,, claro que con alias distintos y en areas de trabajo distintas..
por alguna razon q no he podido descubrir el objeto DATABASE con se actualiza como debe ser: o quizas yo no lo empleo de la forma correcta::

se supone y corrijanme si me equivoco::

si tengo creo un obj. database asi:

<Abro DBF>
DATABASE oDbf
..
..
y luego este objeto lo visualizo en una browse:::

..

..
luego lo que quiero hacer es un scope a ese obj.. database::

y poder filtrar solo siertos registro de la Dbf para mostrarlos en el Browse;;

yo lo hago directo a la DBF asi:


//Scopes
Tabla_1->(OrdSetFocus(1))
Tabla_1->(DBGoTop())
Tabla_1->(OrdScope(0,<Var>))
Tabla_1->(OrdScope(1,<Var>))
Tabla_1->(DBGoTop())
//
no se si habra otra manera de hacerlo sobre el objeto database mismo

esto en SDI funciona ok.. pero en MDI no,,

he chequeado el scope,, y se ejecuta correctamente sobre la DBF, pero el objeto database no asume que fue scopeada la DBF

espero haberme explicado bien amigos::

en espera de segurencia y ayuda.. me despido..


GRACIAS
URGENTE

PostPosted: Wed Jan 30, 2008 9:13 pm
by Antonio Linares
Prueba esto y comprueba que sea el mismo alias:

MsgInfo( oDbf:cAlias ) // Debería mostrar Tabla_1
Tabla_1->(OrdSetFocus(1))
Tabla_1->(DBGoTop())
Tabla_1->(OrdScope(0,<Var>))
Tabla_1->(OrdScope(1,<Var>))
Tabla_1->(DBGoTop())

PostPosted: Thu Jan 31, 2008 12:26 am
by mantonio_08
GRACIAS ANTONIO,, CON TU RESPUESTA ME DISTE LA PISTA QUE NOCESITABA PARA RESOLVER EL PROBLEMA,,,

ERA ESTO POR SI LE SIRVE ALGUN COMPAÑERO DEL FORO::

cuando se usa solo la clase DATABASE nativa de FWH..

y se quiere hacer un scope sobre ella se hace asi:

(oTabla_1:cAlias)->(OrdSetFocus(1))
(oTabla_1:cAlias)->(DBGoTop())
(oTabla_1:cAlias)->(OrdScope(0,<Var>))
(oTabla_1:cAlias)->(OrdScope(1,<Var>))
(oTabla_1:cAlias)->(DBGoTop())

yo lo hacia en forma incorrecta ya que como el alias en MDI lo generaba en forma aleatoria, no siempre era Tabla_1


MUCHAS GRACIAS POR TU INTERES DE AYUDAR

problema resuelto

PostPosted: Thu Jan 31, 2008 8:22 am
by José Luis Sánchez
No uses MDI, usa FSDI - http://www.avemundi.com/?p=226

Saludos,

PostPosted: Thu Jan 31, 2008 9:14 am
by Carles
Jose Luis,

Y porque no va a poder usar MDI ? :D

Re: Sobre la clase DATABASE nativa de FWH

PostPosted: Thu Jan 31, 2008 5:04 pm
by thefull
oDbf:SetBuffer( .F. )
Y ahora realiza el scope, haber si te funciona.