Llevo años haciendo mal una cosa básica, y me acabo de dar cuenta ahora...
Siempre he declarado mis procedimientos y funciones bajo el resto de declaraciones de procedures correspondientes a los eventos de los objetos (es decir, al final del evento OnClick de un Button, por ejemplo). No sé... supongo que cuando empecé hace años, vi allí las declaraciones de los procedimientos de los eventos, y supuse que ahí era donde tenía que declarar los mios. Un vicio adquirido y no revisado.
Ejemplo:
Código Delphi
[-]
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure MiProcedimiento;
Luego, en el cuerpo del código, anteponía "TFormX."... y listo.
Ejemplo:
Código Delphi
[-]
implementation
procedure TForm1.MiProcedimiento;
begin
end;
Pero me he dado cuenta, con gran estupor, de que NO hay por qué declararlos, que se escribe el cuerpo en la sección implementation (sin el TFormX. delante, claro) y se acabó. He vivido engañado todo este tiempo

. Con razón me extrañaba no encontrar nunca en los manuales la "acrobacia" que yo "perpetraba". Aunque... tampo he encontrado nunca la forma correcta de hacerlo, lo dan por supuesto...
Ahora bien, al darme cuenta de mi tremenda laguna, me he puesto a buscar y he visto que hay autores (como Charte) que sí que declaran los procedimientos en la sección public, por ejemplo. ¿Por qué? ¿Cuál es la forma correcta de hacerlo?
Gracias