Ver Mensaje Individual
  #1  
Antiguo 17-01-2007
david.rguez david.rguez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Zamora, la bien cercada
Posts: 104
Reputación: 18
david.rguez Va por buen camino
Creación dinámica de componentes

Hola a todos/as:

Estamos intentando que un formulario extraiga una serie de información de una base de datos referente a imágenes y las muestre en dicho formulario. No podemos saber, en tiempo de diseño, cuántos elementos van a ser.

En diversos posts de este foro he encontrado gente explicando cómo se hace. He probado a seguir esos pasos, pero no me funciona bien.

Este es mi código:

Código Delphi [-]

tadepo.Open;
i:= 0;
imagenB:= TBitmap.Create;

    while tadepo.Eof = false do
    begin
        tadepo.Next;
        // Recuperamos los datos
        imagen:= tadepoimagen.Value;
        porcentaje:= tadepoporcentaje.Value;
        x:= tadepox.Value;
        y:= tadepoy.Value;

        imagenB.LoadFromFile(ExtractFilePath(Application.ExeName) + 'imagenes\' + Trim(imagen));

        imag:= TImage.Create(Self);
        imag.Name:= 'deposito'+IntToStr(i);
        imag.Parent:= Self;
        imag.Width:= 150;
        imag.Height:= 150;
        imag.Picture.Bitmap:= imagenB;
        imag.Top:= y;
        imag.Left:= x;
        imag.Visible:= true;
        imag.Stretch:= true;

        i:= i+1;
    end;


El problema es que únicamente me aparece el último elemento detectado; es decir, se carga los anteriores al sobreescribir. Pensando con lógica, eso parece el comportamiento correcto pues se utiliza la misma variable; pero son tantos los posts que decían que de esta manera funcionaba que lo probé.

¿Alguien sabría decirme qué error cometo?

Gracias.

Última edición por delphi.com.ar fecha: 17-01-2007 a las 13:56:51.
Responder Con Cita