Duda sobre HBClass

Post Reply
softruz
Posts: 485
Joined: Fri Feb 09, 2007 10:34 am

Duda sobre HBClass

Post by softruz »

Muy buenas, tengo una duda para acceder a los datos que me crea AddMultiData, recorriendo el array que me crea pero no me introduce los valores de las variables, os mando el código y así lo vemos mejor:

Con esta funcion me creo el objeto para crearme las variables del modo, por ejemplo:

::v:=varTOclass()
objeto:v:codigo

* y el código que me lo crea es:
_HB_CLASS tAux
method varTOclass() class CDIt
local nScope
nScope := 1
::s_oClass := IIF(.F.,,HBClass():new("tAux",__CLS_PARAM ( "TControl" ) ) )
for i = 1 to len(::aVars)
::s_oClass:AddMultiData(,::aVars[i,2] ,iif(.F.,1,iif(.F.,2,iif(.F.,4,nScope) ) ) + iif(.F.,16,0 ),{::aVars[i,1]},.F.,.F. )
next
::s_oClass:Create()
return ::s_oClass:Instance() AS CLASS tAux


* Y lo que quiero es pasar todos los valores del array a un array mio, pero es que _ si están pero los valores no, mirar este es mi código:

method KnockDatas(c) class CDIt
local i
for i=1 to len(::s_oClass:aDatas)
msginfo(::s_oClass:aDatas[HB_OO_DATA_VALUE],::aVars[i,1])
::aVars[i,2]:=::s_oClass:aDatas[HB_OO_DATA_VALUE]
next
return

¿ ESTOY HACIENDO LAS COSAS BIEN ?
¿ COMO PODRÍA HACERLO ?

Un Saludo. y Mil Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Puedes explicarnos que es lo que deseas hacer ? La idea general
regards, saludos

Antonio Linares
www.fivetechsoft.com
softruz
Posts: 485
Joined: Fri Feb 09, 2007 10:34 am

Post by softruz »

Tengo un array (aVars) que contiene (campo,valor,tipo) de un tabla de mysql
que sus valores depende del nombre de la tabla que le pasemos, entonces mi idea es, si por ejemplo, la tabla tiene _:

id,idEmpresa,codigo,descripcion

lo que quiero es crear un objeto (v) para acceder a sus datos de la forma
Por ejemplo: v:codigo

y la finalidad es pasar el contenido de todas las variables v:id,v:idEmpresa,v:codigo,v:descripcion al array aVars del principio, pero todo esto sin saber a priori _ tiene.

entonces creo que tenemos que acceder atraves del array aDatas pero no me devuelve el valor.

¿Que puedo hacer?. Gracias.
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Puedes crear una clase genérica que use:

ERROR HANDLER OnError( uParam1 )

y ahí resolver los mensajes que te llegan. Revisa la clase TDataBase de FWH, funciona así. No se sabe a priori el nombre de _ que va a usar, y desde el METHOD OnError( uParam1 ) CLASS TDataBase se resuelven dinamicamente.

De esta forma no tienes que crear una clase para cada caso. Una sola clase, genérica, te permite solucionar todos _ posibles
regards, saludos

Antonio Linares
www.fivetechsoft.com
softruz
Posts: 485
Joined: Fri Feb 09, 2007 10:34 am

Post by softruz »

La cuestion es que cuando mete el valor en v:codigo por ejemplo si lo coge bien pero se supone que lo debería meter en aDatas de la clase HBClass pero no lo mete ahi, es decir, donde puede encontrar el valor de v:codigo dentro de la clase HBClass.

Gracias
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Prueba esto:

Code: Select all

for n = 1 to Len( v )
   if v[ n ] == v:codigo
      MsgInfo( n )
   endif
next
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply