Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
var
i: Integer;
const
NamePrefix = 'MyEdit';
begin
for i := 1 to 20 do begin
TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
begin
Left := 10;
Top := i * 20;
Parent := self;
end;
end;
end;
Aquí lo que está haciendo es crear 20 componentes y luego acceder a ellos utilizando FindComponent, cosa bastante tonta por cierto, ya que FindComponent no es muy eficiente y sólo se debería utilizar cuando no exista otro remedio, como en tu caso, pero no aquí que ya están disponibles los 20 componentes (por lo tanto no tiene sentido buscarlos con este método).
Sólo le encuentro sentido como muestra de utilización, pero creo que el código no es muy acertado, no porque sea incorrecto, sino porque muestra una programación muy ineficiente.
El Self, se refiere al "objeto actual"; Si te fijas en la definición de los procedimientos lo verás claramente:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender: TObject);
...
Código Delphi
[-]
procedure TPANEL1.BitBtn1Click(Sender: TObject);
...