Ir al contenido


Foto

[RESUELTO] Conservar un NUEVO valor en un TImage.


  • Por favor identifícate para responder
13 respuestas en este tema

#1 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 12 julio 2010 - 09:27

Trabajando en los ejemplos de mi hilo anterior (funcionando bien, por cierto), me encuentro con que al asignarle el valor al TImage permanece solamente mientras está abierta y funcionando la forma que lo contiene, pero si cierro ésta y la abro nuevamente, el contenido que le cargué al TImage desaparece...

¿Hay manera de conservar "permanentemente" ésa nueva imagen? Es decir, conservar la nueva carga del TImage hasta que sea cargado nuevamente con otro valor.
  • 0

#2 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 12 julio 2010 - 09:30

Pues.... mmmm... si no es guardándolo en una BD (abriéndolo en un TDBImage) o en un archivo externo (con los TImage) y cargándolo de nuevo al abrir la forma que contiene las imágenes, no se me ocurre de otra manera...

:embarrassed:

Saludox ! :)
  • 0

#3 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 12 julio 2010 - 09:39

Efectivamente amigo. Así trataba el TImage. Si deseas conservar la imagen tienes dos opciones:
1. Poner la imagen en tiempo de diseño
2. Aprovechar alguno de los eventos OnCreate, OnShow del form para cargarla.

La cuestión es que la imagen del TImage se vuelve persistente únicamente en tiempo de diseño. De otro modo, no hay manera de saber que imagen cargar. Cuando uno coloca una imagen en tiempo de diseño es como si se generara una copia de esta imagen y queda almacenada en el ejecutable. Como tu cargas en tiempo de ejecución no están disponibles las imágenes.
No se con eso se entiende el porqué de ese comportamiento.

Saludos,
  • 0

#4 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 12 julio 2010 - 09:43

Efectivamente amigo. Así trataba el TImage. Si deseas conservar la imagen tienes dos opciones:
1. Poner la imagen en tiempo de diseño
2. Aprovechar alguno de los eventos OnCreate, OnShow del form para cargarla.

La cuestión es que la imagen del TImage se vuelve persistente únicamente en tiempo de diseño. De otro modo, no hay manera de saber que imagen cargar. Cuando uno coloca una imagen en tiempo de diseño es como si se generara una copia de esta imagen y queda almacenada en el ejecutable. Como tu cargas en tiempo de ejecución no están disponibles las imágenes.
No se con eso se entiende el porqué de ese comportamiento.

Saludos,

Entendido perfectamente..., ya veré qué se me ocurre para solventar éste problemita.
  • 0

#5 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 12 julio 2010 - 10:02

Hola
No entiendo.
Saludos
  • 0

#6 TiammatMX

TiammatMX

    Advanced Member

  • Miembros
  • PipPipPip
  • 1.750 mensajes
  • LocationUniverso Curvo\Vía Láctea\Sistema Solar\Planeta Tierra\América\México\Ciudad de México\Xochimilco\San Gregorio Atlapulco\Home

Escrito 12 julio 2010 - 10:24

...el TImage se vuelve persistente únicamente en tiempo de diseño...


¡¡¡Mardita sea mi estampa!!, bueno, un detallito más que me echa a perder una idea. Y así, hemos resuelto éste hilo.
  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 12 julio 2010 - 10:41

Hola

Me pregunto si no seria bueno usar un ImageList y ahí asignar las imagenes que quieres y solo asignas el ImageIndex, digo, en un tiempecito que tenga me hago un ejemplo. :)

Salud OS
  • 0

#8 Fenareth

Fenareth

    Advanced Member

  • Administrador
  • 3.486 mensajes
  • LocationMexico City

Escrito 12 julio 2010 - 10:50

Pero Ego eso tiene un poco de estática... es decir... si uno no sabe qué imágen van a cargar, cómo asignarlo a un TImageList ?

Saludox ! :)
  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 12 julio 2010 - 11:13

Pero Ego eso tiene un poco de estática... es decir... si uno no sabe qué imágen van a cargar, cómo asignarlo a un TImageList ?

Saludox ! :)


Bueno, yo parto de la premisa de que todo lo que se puede hacer manualmente se puede automatizar :)

Salud OS
  • 0

#10 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 12 julio 2010 - 11:32

Pues una idea, la he visto por ahí (ChackAll), guardar la imagen en una variable global en formato Hexagesimal (creo) y luego cargarlo al TImage, no me supe explicar, pero por ahí anda el asunto.
  • 0

#11 eduarcol

eduarcol

    Advanced Member

  • Administrador
  • 4.483 mensajes
  • LocationVenezuela

Escrito 12 julio 2010 - 11:33

Que no entiendes amigo. El problema o la solucion?
  • 0

#12 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 12 julio 2010 - 01:29

Pues, la idea del ImageList está buena (ya me había olvidado que existía el bicho ese  :D ) Si es que en realidad se conocen las imágenes y no hay impedimento de tenerlas almacenadas toditas (y relativamente grandecitas  ^o| )

Ahora bien, lo que comenta Fernando, de colocar las imágenes dentro un recurso (.res) para luego abrilas daría casi lo mismo que tenerlas en el ImageList... de todas formas el ejecutable acumulará unos cuantos kilos ;)

Saludos,
  • 0

#13 Desart

Desart

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 715 mensajes
  • LocationEspaña

Escrito 13 julio 2010 - 12:52

Hola compañeros, se me ocurre por que no crear un directorio y cada vez que salgamos de la aplicación, grave la imagen actual con un único nombre y cada vez que arrancamos la aplicaión carge la imagen, lo cual nos permite no cargar al ejecutable y no tener imagenes fijas. digo?
  • 0

#14 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 13 julio 2010 - 07:08

Efectivamente la imagen puede guardarse en el ejecutable como binario, pero dado que el tamaño puede variar, no es recomendable hacerlo directamente así despues de compilar el programa.

Mas operativo es guardarlo en la sección de recursos. Esto se puede de forma fiable abriendo el archivo del ejecutable y editando los recursos con la API. Esto aumenta el peso del ejecutable.

Pero la forma mas fácil y operativa es guardar la imagen en un archivo aparte que podrá ser leído y cargado mas tarde.

Saludos.
  • 0




IP.Board spam blocked by CleanTalk.