In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Error en CLASS

Foro de Xailer profesional en español
Responder
carlos
Mensajes: 126
Registrado: Mié Feb 02, 2005 7:31 pm

Error en CLASS

Mensaje por carlos »

Saludos ante todos
Resulta que queriendo probar mi propia clase, hecho una clase para abrir
ficheros y me da el siguiente error:
o sea que parece que no me reconoce la propiedad o DATA oFich:
//----
TCLAVEUSER:VALIDUSER(122)
Error BASE/1004 Class: 'LOGICAL' has no exported method: OFICH
Argumentos: ()
La clase es la siguiente:
CLASS AbrirTabla //FROM XDataSet
PUBLISHED:
PROPERTY oFich
METHOD New(oFile)
ENDCLASS
//----
METHOD New(ocFile,lNew, lShared) CLASS AbrirTabla
LOCAL aDriver , cAlias
::oFich := ocFile
IF !ValType(::oFich) # "U" // .AND. !EMPTY(cFile)
TRY
WITH OBJECT ::oFich
IF !:lOpen
:lNew := lNew
:lShared := lShared
:lOpen()
Else
:lNew := lNew
:lShared := lShared
:lOpen()
EndIf
cAlias := :Alias()
END
CATCH //Error
MsgStop( "¡Error!, al Abrir la Tabla, Cheque, que exista o no este
abierta en otra área" )
RETURN .F.
END
ELSE
RETURN .F.
ENDIF
RETURN (Self)
//---
y la llamo desde
//---
METHOD ValidUser(oSender) Class TClaveUser
Local aTags, oValor, aDBfStruct, oValorUs, Clave2, Clave3
LOCAL oUsuarios, oPermisos
oUsuarios := AbrirTabla():New(::oForm:oDbfUsuarios,.F.,.F.)
oPermisos := AbrirTabla():New(::oForm:oDbfPermisos,.F.,.F.)
WITH OBJECT oUsuarios
:oFich:Select()
:oFich:Reindex()
:oFich:OrdSetFocus("USUARIOS")
if :oFich:Seek(alltrim(::oEdUsuario:Value))
.....
Endif
END WITH
//---
Por favor, me pueden decir que hago mal????
Gracias de antemano
jlalin
Mensajes: 926
Registrado: Sab Dic 25, 2010 11:10 pm

Error en CLASS

Mensaje por jlalin »

Carlos,
fí­jate que en el método New tienes dos sentencias "RETURN .F.", cuando
deberí­as devolver Self.
En vez de devolver .F., pon una DATA lError para hacer el chequeo y
problema solucionado.
Saludos,
José Lalí­n
Responder