Hola,
Tal vez estás intentando llamar a un método de una clase "estática" que no es tal. Es decir, en lugar de algo como esto:
... suponiendo que "Form2" es una variable que guarda una instancia de "TForm2" (por ejemplo) y que es "correcto", puedes estar codificando algo como:
... directamente, lo que no sería válido, a no ser que "TForm2" fuera una clase "estática", es decir, que no requiere de instanciación alguna. Pero, esto último no es lo común, mucho menos en el caso de clases "formularios".
En todo caso no vas por mal camino (en mi opinión) si te decides a utilizar funciones, procedimientos o métodos, que no sean propiamente eventos, porque un evento no debería ser llamado por ti.
El ejemplo del "onclick" es bastante claro: el evento debería lanzarse cuando se hace clic en cierto lugar y no de otro modo, puesto que entonces se están confundiendo las cosas. Supongamos algo de código:
Código Delphi
[-]
Unit Form1;
interface
uses
Forms ;
type
TForm1 = class(TForm)
public
procedure Button1Click(Sender: TObject);
end;
implementation
procedure TForm1.Button1Click(Sender: TObject);
begin
Self.Caption := 'ClubDelphi';
end;
end.
Si quieres cambiar el "Caption" del formulario a "ClubDelphi", lo suyo no es que llames al evento "Click" del botón que hace esa tarea, sino, plantearte el asunto más o menos de este otro modo:
Código Delphi
[-]
Unit Form1;
interface
uses
Forms ;
type
TForm1 = class(TForm)
public
procedure Button1Click(Sender: TObject);
procedure CambiaCaption(newCaption: string);
end;
implementation
procedure TForm1.CambiaCaption(newCaption: string);
begin
Self.Caption := newCaption;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Self.CambiaCaption('ClubDelphi');
end;
end.
Ahora en el evento haces uso de un método para hacer lo que quieres, un método que no es un evento, y que forma parte también, en este caso, de la clase "TForm1". Pues bien, si ahora quisieras cambiar el "Caption" del formulario desde otro lugar, no usarías el evento "Onclick" del botón de marras, sino el método que sirve, precisamente, para lo que quieres hacer, y que puedes usar en donde mejor te parezca: sea en el evento "Onclick" de un botón, o desde cualquier otro sitio.