Hola.
Hice una prueba con tu código (super ultra reducido
) que tal vez te sirva de guía.
Funciones.cpp
Código PHP:
#pragma hdrstop
#include "Forms.hpp"
#pragma package(smart_init)
// figura el valor por defecto
extern void ColorForm(TForm *Form, bool lAuto = true);
//------------------------------------------------------------------------------
// aquí no debe figurar el valor por defecto
void ColorForm(TForm *Form, bool lAuto)
{
Form->Color = lAuto ? clRed : clLime;
}
Unit1.cpp:
Código PHP:
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
#include "Funciones.cpp"
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ColorForm(Form1, False); // el form se pinta color verde lima
ShowMessage("");
ColorForm(Form1); // el form se pinta color rojo
}
Aún me queda la duda de por que
Funciones.cpp no tiene su archivo de cabecera, pero no hace al problema.
Saludos