En estos casos, yo sigo unos sencillos pasos:
(1) Eliminar el procedimiento del formulario, para hacerlo no dependiente de esa clase. Crear la cabecera fuera de la clase del form.
Esto lo cambias por esto otro:
Código Delphi
[-]
procedure TfmPrincipal.CargarBloques();
procedure CargarBloques();
En la parte de Interface deberás definir esa función:
Código Delphi
[-]
procedure CargarBloques();
Ahora si compilas, es posible que te devuelva fallos de "objetos" que no encuentra. Los que antes estaban en la misma clase del form y ahora no. Esos serán los que debas pasar como parámetros.
(2) Crear los parámetros.
Si falla cbBloques, deberás crear un parámetro para ese objeto (como a comentado Román); Le añades una "A" delante para diferenciarlo:
Código Delphi
[-]
procedure CargarBloques(AcbBloques:TComboBoxEx);
begin
if dmDatos.qyBloques.Active = False then
dmDatos.qyBloques.Active := True
else
dmDatos.qyBloques.Refresh;
if dmDatos.qyBloques.RecordCount > 0 then
begin
dmDatos.qyBloques.First;
AcbBloques.Items.Clear;
....
Y vas repitiendo el proceso con el resto de variables que "fallen".
Cuando ya los tengas todos sustituídos, para hacer la llamada has de usar los objetos que has cambiado anteriormente.
Código Delphi
[-]
CargarBloques(cbBloques, ...);