Ver Mensaje Individual
  #3  
Antiguo 14-08-2006
[jesusomarsanche] jesusomarsanche is offline
Miembro Premium
 
Registrado: may 2006
Posts: 11
Reputación: 0
jesusomarsanche Va por buen camino
creo que no me explique muy bien,
tengo una aplicacion, donde el usuario selecciona un producto el cual tiene de una a n cavidades, lo que hace el programa es darle la obcion al usuario de representar esas cavidades en una fotografia, para despues usar esa informacion en una ayuda visual.
para no tener que crear 200(por decir una cantidad) quiero saber como puedo crear un label en tiempo de ejecucion sin haverlo declarado antes, con un array como mensionaste se solucionaria pero al ponerle
Código:
var i : Integer;
    a,b:array of tlabel;
    lstemp :string;
begin
  for i := 1 to N do begin
    lstemp:='Label'+inttostr(i)
    a[i]:= a[i].Create(lstemp);{marca error de incompatibilidad}
    b[i]:=tlabel.Create(b[i]); {marca violacion de acceso}
    lstemp := lstemp +'.caption';
    lstemp := 'lo que sea' {me iguala lstemp a 'lo que sea' en lugar de
                            asignarselo al labeln}
  end;
eso me simplificaria mucho codigo, a demas de que no seria finito el numero de objetos a manejar por mi aplicacion.
en este momento lo solucione creando 126 label y con un case segun el valor de i trabajo con el label pero estoy limitado a 126 cavidades.
Responder Con Cita