Copie y pegue tu codigo, y no se si el error que te marca es por que pusiste retun en vez de return
retun procedencia;
Pero corrigiendo eso, la sintaxis esta bien, yo lo probe en un boton como tu decias, y si funciona
bool procede(bool procedencia)
{
procedencia=false;
return procedencia;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShowMessage( BoolToStr( procede(true),true ) );
}
//---------------------------------------------------------------------------
y lo que comento loki160685, seria solo para hacer a la funcion parte de la clase TForm1, y aunque de las dos manera funcionaria igual, creo que seria mas correcto que sea miembro de la clase