Hola, Manuel.
>Guardar la ruta es lo más agil y lo que todos ustedes recomiendan, pero creo que tiene un gran riesgo y es que alguien cambie el nombre de los archivos de imagen. Yo hace rato utilizo un sencillo mecanismo de identificar la imagen con el ID del item, o la persona o lo que sea. Normalmente guardo esas imagenes en una carpeta. Si el programa ubica una imagen con el nombre igual al ID del producto o persona o lo que sea, la muestra. Pero, y aquí el gran riesgo, si alguien cambia los nombres de los archivos de imagen deja de funcionar y lo que es peor se puede facilmente cambiar las imagenes y los items asociados. Por ejemplo, si un usuario descontento selecciona todos los archivos de la carpeta de imágenes y elige la opción de cambiar nombre, Windows (al menos XP) le coloca a todos los archivos el mismo nombre y un subindice progresivo entre paréntesis. Yo tengo un cliente con unos 1000 empleados, me aterra pensar que alguien se de cuenta de lo facil que es cambiar nombres y caras.
Los usuarios pordrían no tener acceso a esa carpeta, en primer lugar. Podrías acceder las imagenes a través de un componente COM que tenga los permisos adecuados, peor que los usuarios no la vean.
Otra alternativa es usar campos BLOB en VFP 9 ó Image si tu motor de base de datos es SQL Server. Este es un formato eficiente, no tiene ninguno de los problemas asociados con los General, y el soporte es bastante bueno.
Finalmente, aún en el caso de los archivos en una carpeta pública, que alguien renombrase o borrase las imagenes no debería generar un error, sino solamente el dejar la imagen en blanco.
Saludos,