Ver Mensaje Individual
  #8  
Antiguo 13-10-2021
engranaje engranaje is offline
Miembro
 
Registrado: may 2011
Posts: 163
Reputación: 14
engranaje Va por buen camino
Veo que ya lo tienes resuelto. Comparto de todas formas el modo en el que resuelvo yo este tipo de tarea por si pudiera resultar interesante. Lo que hago en estos casos es sobrecargar el constructor del formulario que se crea desde un botón para que se le pueda pasar el propio botón "creador" como argumento al constructor del formulario. Un ejemplo sencillo de un formulario con un TEdit y un TButton que al llamar escribir un texto en el edit y pulsar el botón cambia el Caption del botón desde el que se creó ese formulario:
Código Delphi [-]
unit Unit2;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm2 = class(TForm)
    edt1: TEdit;
    btn1: TButton;
    procedure btn1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    BotonCreador: TButton;
    { Private declarations }
  public
    { Public declarations }
    constructor Create(AOwner: TComponent;aButton:tbutton); overload;
  end;

implementation

{$R *.dfm}

procedure TForm2.btn1Click(Sender: TObject);
begin
   BotonCreador.caption := edt1.text;
end;

constructor TForm2.Create(AOwner: TComponent; aButton: tbutton);
begin
  create(aOwner);
  self.BotonCreador := aButton;
end;

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action:= cafree;
end;

end.

El método que crea formularios y se llamará en el onclick de cada boton creado sería una cosa así:
Código Delphi [-]
procedure TForm1.ClickBotonCreador(Sender: TObject);
begin
  with TForm2.create(self,tButton(Sender)) do
    showmodal;
end;
Responder Con Cita