pues no sabia yo de esta recomendacion. Uso multiples referencias a otras forms del proyecto en funciones generales del datamodule (la mayoria de las veces, eso si, pasandolas como argumento de las funciones o bien estableciendo anteriormente variables generales). Creo que la mejor manera, por eso, es establecer relaciones en el datamodule con procedimientos y variables de otras forms... por ejemplo, para cambiar un label de cierta form
si se produce un error en post y ejecutar una funcion de esa form.
Código Delphi
[-]
public
ejecutar_si_error_externa : procedure of object;
variable_externa : Pstring;
...
procedure Tdatamodule.Table1postError(...)
begin
variable_externa^ := mensaje_de_error;
ejecutar_si_error_externa;
end;
...
Código Delphi
[-]
procedure TForm1.Ejecutar_si_error;
begin
...
end;
procedure TForm1.Hacer_post;
begin
datamodule.Ejecutar_si_error_externa := Ejecutar_si_error
datamodule.variable_externa := PString(Label1.Caption);
...
datamodule.Table1.Post;
end;
asi se hacen referencia a otras forms desde el datamodule, estando el codigo de cada cosa (mas o menos) en su sitio.