30 de noviembre de 2010

Unresolved external 'TForm1'...

Hoy nos hemos encontrado algunos errores de este tipo al compilar proyectos en clase, donde se apunta a un problema con un formulario..tiene esta pinta:


En el error se avisa de un problema en "PRACTICA6.OBJ", un objeto dependiente directamente de la unidad con el mismo nombre. En vuestro caso podría mostrarse el nombre de otra unidad..

Solución: Abre el gestor de proyectos con la opción "View/Manager"...



..busca la unidad referida en el error "Practica6.cpp" y ábrela..

..bien ahora va algo de teoría (pero no mucha), observa que esta unidad principal, la que arranca el programa cuando hacemos doble clic en el .exe o compilamos en Borland, (es la que tiene el bloque "WinMain")..está claro..

..este bloque inicia nuestro programa y todos los elementos necesarios, como los formularios..

..en la cabecera apaece el siguiente código:

USEFORM("Uprincipal6.cpp", Vprincipal);
USEFORM("process.cpp", Form1);

..estas dos instrucciones preparan los formularios que utiliza vuestro proyecto, en este caso parece que hay dos..cuando sólo debería haber uno..

..el segundo sobra, el que está asociado a la unidad "process.cpp", no debería estar ahí...asi que se comenta la línea y dejamos sólo el formulario principal, queda así:

USEFORM("Uprincipal6.cpp", Vprincipal);
//USEFORM("process.cpp", Form1);

..seguimos, un poco más abajo..

Application->Initialize();
Application->CreateForm(__classid(TVprincipal), &Vprincipal);
Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();

..son las instrucciones que inician el sistema y crean los formularios, hay que eliminar la que arranca el formulario que no necesitamos, la tercera línea fuera..queda así:

Application->Initialize();
Application->CreateForm(__classid(TVprincipal), &Vprincipal);
//Application->CreateForm(__classid(TForm1), &Form1);
Application->Run();

..con estas modificaciones yo lo tenemos compilando sin errores, listo para poder seguir..
..podéis borrar las líneas comentadas..

..si tenéis algún otro error, me mandáis el proyecto en un zip y le echo un vistazo ;-)

No hay comentarios: