Delphi - Componentes creados en tiempo de ejecución

 
Vista:

Componentes creados en tiempo de ejecución

Publicado por Alex (7 intervenciones) el 06/11/2001 20:10:40
Hola a Todos.
Tengo un pequeño problema.
Creo en tiempo de ejecución 50 Edit, pero solo puedo accesar al ultimo creado, y yo necesito poder acceder a la informaciñon de los demas Edit creados.
Como podria al momento de ubicarme sobre cualquiera de ellos, obtener información.
Gracias a Todos.
Alex.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Un ejemplo en Visual dBASE

Publicado por Bill Gates (33 intervenciones) el 06/11/2001 23:26:11
Hola!
Soy aprendiz de Delphi. Crear objetos en tiempo de ejecucion y mantener una referencia lo he hecho en Visual dBASE, solo creo un arreglo con x elementos y cada elemento es un objeto, despues solo usas la referencia para obtener la informacion del objeto.... me explico?

Por ejemplo, en Visual dBASE 7.01

aoMisObjectos = array(50)
aoMisObjetos[1] := New editor

aoMisObjetos[1].Enabled := True //Lista de propiedades
aoMisObjetos[1].Left := 10
...
..
...

aoMisObjetos[50] := New editor

aoMisObjetos[50].Enabled := True //Lista de propiedades
aoMisObjetos[50].Left := 10

Ahora, para activar el primero
aoMisObjetos[1].setfocus()

.....

Recuerda, esto es en Visual dBASE, no se si delphi acepte arreglos de objectos...deberia..

espero y te sirva....bye
w4e!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Componentes creados en tiempo de ejecución

Publicado por Ernesto D'Spirito (706 intervenciones) el 07/11/2001 03:10:34
Lo que puedes hacer es ir guardando los componentes en un TComponentList, o puedes usar el método FindComponent del formulario para encontrar los componentes por su nombre...

Ernesto
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Componentes creados en tiempo de ejecución

Publicado por Diego Romero (67 intervenciones) el 07/11/2001 11:26:42
Prueba este código:
type
TForm1 = class(TForm)
Label1: TLabel;
procedure MiOnChange(Sender: Tobject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}
Procedure Tform1.MiOnChange(Sender: Tobject);
begin
Label1.Caption:=TEdit(Sender as TEdit).Text;
end;

procedure TForm1.FormCreate(Sender: TObject);

var
NuevoEdit:TEdit;
i:longint;
begin
for i:=1 to 10 do
begin
NuevoEdit:=Tedit.create(self);
NuevoEdit.Parent:=Form1;
NuevoEdit.Tag:=i;
NuevoEdit.Top:=i*30;
NuevoEdit.Text:=Inttostr(i);
NuevoEdit.OnChange:=MiOnChange;
end;
end;

end.
Necesitas un TForm y un TLabel, el "truco" está en asignar un manejador de eventos propio al componente creado en tiempo de ejecución. La propiedad tag del TEdit en el ejemplo te dirá cuál de ellos es el que causó el evento.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar