Problemas con Image

Hola Davsoft.
Oye, tengo un problema.
Cuando cambio de valor en el picture_assing de un control image, no lo hace, no acmbia el valor. El siguiente código es el que tengo en el método:
LPARAMETERS vNewVal
*To do: Modify this routine for the Assign method
THIS.Picture = m.vNewVal
Pero no me cambia el la imagen.
¿Por qué?

1 respuesta

Respuesta
1
NO cambia la imagen, ¿pero cómo queda?, ¿Queda la misma imagen?, ¿O queda el sobre de que no tiene imagen vinculada?
La imagen no cambia.
_Ya he intentado el this.refresh y nada
Perdo dime, m.VnewVal que tipo es, ¿objeto?
Probaste enviarle
Un string a un archivo por ejemplo "c:\mifoto.jpg"
¿Para ver que resultado te da?, dame más informaciones sobre tu código, que hace, ¿cómo creaste los métodos assing?, etc.
Pues, simplemente ese código
Si en el control imagen en su propiedad picture tengo "c:\carpeta\fotos\klon.png"
Yo en cualquier instrucción, pongo:
Imagen.picture= "c\carpeta\imagenes\algo.png"
Es decir, cambio el archivo original.
Se ejecuta el método Picture_assing el cual tiene el siguiente código:
LPARAMETERS vNewVal
*To do: Modify this routine for the Assign method
THIS.Picture = m.vNewVal
vNewVal contiene el valor de "c\carpeta\imagenes\algo.png".
Solo asigna el valor de la ruta a la propiedad picture.
Pero el control image en su propiedad picture sigue teniendo
"c:\carpeta\fotos\klon.png"
Pues el metodo picture_assing es un metodo del form no del control image, pues this.picture = m.vNewval   no afectaria al objeto en cuestion por que this. apunta al objeto actual que en este caso es el form, si estas en el metodo picture_assing debes llamarle al objeto por completo
thisform.image1.picture  = valor
Si quieres enviame tu código a [email protected] y te reviso, esto debe funcionar sin problemas.
En síntesis te digo como debería hacerse así como yo acostumbro.
Creas una nueva propiedad, por ejemplo aa, entras en formulario - nueva propiedad, luego le marcas método access y assing, o uno de ellos, bueno, el te creara automáticamente la propiedad aa y dos métodos aa_assing y aa_acces, si en alguna parte del form cambias o consultas el valor de la propiedad que creaste, en ese caso aa se ejecutaran los métodos respectivos y listo.
Hola, disculpa. Pero no te puedo enviar el código. En la empresa en la que estoy no me lo permitiría.
Creo que sera difícil si lo no lo vez. Gracias de todas formas.
No hay problema, prepare un ejemplo en donde al cambiar el fondo del form cambia el picture de un objeto image automáticamente por el mentodo assing, enviame tu dirección para enviártelo.
Hola, davsoft, como llevaba casi 2 semanas con el problema, ayer varios compañeros y yo estuvimos resolviendo el problema, no duramos mucho para darnos cuenta del porque.
Era muy fácil de resolver, pero una mente principiante en VFP como la mía tardaría más.
Ok, como fuimos 4 compañeros y 4 piensan mejor que 1.
Cuando en un formulario tu asignas en tiempo de diseño a un control en su propiedad picture una imagen y tu tienes un código que en cierto evento cambia la imagen y compilas este formulario, este siempre tendrá la misma imagen y tu código no lo cambiara por más que le busques. Lo que pasa es que al compilar, la imagen que tiene asignada en la propiedad picture se almacena o se compila y queda guardada en el diseñador del proyecto en la pestaña de others y en other files.
Es por eso que siempre tenia la misma imagen.
Para resolverlo, simplemente añadí otra propiedad al control y que es la que realmente tiene la imagen, y en tiempo de diseño elimine el valor de la propiedad picture. Así al iniciar cargo la imagne que quiero, la cambio, etc... Y como no esta compilada, osea no esta almacenada, me permite hacer los cambios.
Gracias por tu tiempo y por tratar de ayudarme.
Gracias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas