FoxPro/Visual FoxPro - error (1929)

 
Vista:

error (1929)

Publicado por gaby (10 intervenciones) el 02/09/2010 18:26:35
Hola a todos en el foro....
espero alguien me pueda ayudar tengo una aplicacion la cual al correr y moverme entre los registros me marca un error

"name" can only be used within a method (Error 1929)
espero alguien sepa y me pueda ayudar necesito saber de donde o porque surge eeste error.........
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

RE:error (1929)

Publicado por Juanma Cruz (512 intervenciones) el 02/09/2010 18:42:46
Si te fijas en la ayuda del VFP que debes tener instalada, dice que intentaste usar una referencia This o Thisform o ThisformSet desde fuera de un método o evento, que son los únicos lugares donde puedes hacerlo.

Sin ejemplos de tu código, otra cosa no te podemos adelantar...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error (1929)

Publicado por gaby (10 intervenciones) el 02/09/2010 18:58:30
Hola gracias por responder

si ya e checado la ayuda de visual y en internet he encontrado que talvez he usado unthisformset en un filtro

y si es correcto hago algunos filtros de la sig manera

SET FILTER TO mine_min.mine_comin=comin1 AND mine_min.ming_certificado=thisformset.mineragrafia.pageframe1.page2.txtCertificado.Value AND mine_min.ot=thisformset.mineragrafia.pageframe1.page2.txtot.value AND mine_min.idecam=thisformset.mineragrafia.pageframe1.page2.txtidecam.Value

entonces que puedo hacer en este caso para hacer mi filtro debo guardar mi cadena en una variable.

tambien hago busquedas con seek pero con un index compuesto

SEEK (STR(thisformset.mineragrafia.pageframe1.page2.txtcertificado.Value,8,0)+STR(Thisformset.mineragrafia.pageframe1.page2.txtot.Value,6,0)+Thisformset.mineragrafia.pageframe1.page2.txtidecam.Value)

esto tambien me puede generar ese error
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:error (1929)

Publicado por xx (378 intervenciones) el 02/09/2010 21:38:11
Si copias a una variable deberia funcionar siempre que la variable este visible al momento de navegar por la tabla, No es recomendable aplicar filtros sobre tablas sobre todo si contienen muchos registros!!

En el seek si no te da error es porque al momento de ejecutarse es visible el objeto thisformset....txt... en cuyo caso no es necesario copiarlo a una variable.

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:error (1929)

Publicado por Juanma Cruz (512 intervenciones) el 03/09/2010 10:38:55
¿Has probado con traducir primero a valores literales?

public cFiltro as string
Text to cFiltro textmerge noshow pretext 7
campo1='<<Thisform.Objeto1.value>>' and campo2='<<Thisform.Objeto2.Value>>'
endtext

Select MiTabla
Set filter to &cFiltro.


De cualquier forma, intenta cambiarte a la metodología de vistas y select-sql, porque los filtros se hacen más lentos e ineficientes a medida qe tus tablas se hacen más grandes.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar