ironmansp escribió:
Estaba pensando en como hacer que los objetos que diseño se conozcan en toda la aplicacion, y basicamente se me ocurren dos formas:
1.-trabajar con una variable public, de la forma:
Public oReloj
y despues acceder a ella como
oreloj:metodo
2.- Trabajar con una funcion con unn estatica definida que retorne siempre el objeto
Function oReloj(Param)
Static oReloj
If oReloj = NIL
oReloj := ""
Endif
If !Empty(Param)
oReloj := Param
Endif
Return oReloj
y acceder como
oReloj():metodo
que opinais ? cual seria la mas correcta a nivel de curra con ella?
Las dos funcionan...
Hola, Josu, has estado algun tiempo 'missing'
Mi opinión:
Una opcion sería que las hagas públicas, solo tendrias el 'inconveniente' de tener que declararlas en la cabecera de cada .PRG.
Otra posibilidad es que definas UNA clase que podría llamarse TVariables, y 'dentro' de esta clase definas (o crees) todas las que necesites. Hecho esto solo tendrias UNA publica oVariables, y de és ta 'colgarian' todas las demas. Por ejemplo:
Class TVariables
private:
data FReloj
public:
method Create constructor
property Reloj read data FReloj
PUBLIC oVariables
endclass
...
....
desde la aplicacion
oVariables:Reloj:.......
Y por último la función. Esta opción no la considero 'eficiente' para lo que planteas, su utilización es idonea para otros casos.
Yo te aconsejaria la primera opción, siempre que 'no abuses' de las publicas, si necesitases declarar muchas utiliza la opcion 2.