Muy buenas, estoy intentando pasar un parametro a una clase antes de que esta se cree, es decir, para explicarme mejor os pongo código:
---------------------------------------------------------
- Así creo dinámicamente la clase "xMySQLClass" pero necesito pasar antes de que se cree dicha clase la variable cTable.
----------------------------------------------------------
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// xMySQLClass
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
_HB_CLASS xMySQLClass
function xMySQLClass()
local oRs,nScope,acFields:={}
static s_oClass
// Como puedo pasar la variable cTable
oRs := TMsQuery(oConexion, "show columns from "+alltrim(cTable))
oRs:Open()
if oRs:Reccount()<=0
msgstop( "!!! Error accediendo a la Base de Datos !!!","Creación de Clases con la tabla "+alltrim(cTable),"¡Atención!" )
PostQuitMessage(0)
__Quit()
return .t.
end
nScope := 1
s_oClass := IIF(.F.,,HBClass():new("xMySQLClass",__CLS_PARAM ( "TControl" ) ) )
oRs:first()
while !oRs:eof()
aadd(acFields,{oRs:fieldget(1),TypeByDefault(oRs:readmemo(2)),if(oRs:fieldget(4) = "PRI" .or. oRs:fieldget(4) = "MUL",.t.,.f.),GetDefault(oRs:readmemo(2))})
oRs:next()
end while
oRs:first()
while !oRs:eof()
s_oClass:AddMultiData(,,iif(.F.,1,iif(.F.,2,iif(.F.,4,nScope) ) ) + iif(.F.,16,0 ),{ alltrim(oRs:fieldget(1)) },.F.,.F. )
oRs:next()
end while
s_oClass:AddMultiData(,acfields,iif(.F.,1,iif(.F.,2,iif(.F.,4,nScope) ) ) + iif(.F.,16,0 ),{ "acFields" },.F.,.F. )
s_oClass:AddMultiData(,alltrim(cTable),iif(.F.,1,iif(.F.,2,iif(.F.,4,nScope) ) ) + iif(.F.,16,0 ),{ "cTabla" },.F.,.F. )
oRs:Free()
s_oClass:Create()
return s_oClass:Instance() AS CLASS xMySQLClass
-----------------------------------------------------------------------------
- Asi la llamos desde código para crearla
----------------------------------------------------------------------------
class tEmpresas from xMySQLClass
...
...
...
end class
-----------------------------------------------------------------------------
- Entonces mi problema es que necesito pasar el nombre de la tabla a la clase xMySQLClass para que así se cree dinamicamente con el nombre de la tabla
----------------------------------------------------------------------------
¿ como podemos hacerlo?
Un Saludo.