• Sábado 14 de Diciembre de 2024, 15:52

Autor Tema:  Problema Para Eliminar Eventos  (Leído 2572 veces)

jcjulio

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Problema Para Eliminar Eventos
« en: Jueves 9 de Febrero de 2006, 01:04 »
0
Bueno, soy un novato en C++ Builder, y tengo un problema que no me deja avanzar.

Cuando le asigno un evento a un objeto: Por ejemplo un ONCLIK a un boton y luego quiero eliminar ese evento para luego asignarle otro, no me lo permite me vota ek error:

[Linker Error] Unresolved external '__fastcall TForm1::FormClick(System::TObject *)' referenced from F:\ARCHIVOS DE PROGRAMA\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

Si pueden ayudenme lo mas rapido posible

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Problema Para Eliminar Eventos
« Respuesta #1 en: Jueves 9 de Febrero de 2006, 02:11 »
0
Ese es un error muy molesto que tiene una muy fácil solución (por cierto a mi también me costo descubrir como arreglarlo). Abre el .h (Header file) de tu aplicación, algo simple sería:

#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published:   // IDE-managed Components
        TButton *Button1;
        TEdit *Edit1;
        TLabel *Label1;
        TEdit *Edit2;
        void __fastcall Button1Click(TObject *Sender);
private:   // User declarations
public:      // User declarations
        __fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif


Como puedes ver ahí está registrado el evento del botón y el compilador te dice que no lo encuentra o algo así, lo que tienes que hacer es comentar o eliminar esa línea (la que puse en rojo) y el problema está resuelto.

Fijate que en el error que aparece te dice cual es el que causa el problema, en tu caso sería:  [Linker Error] Unresolved external '__fastcall TForm1::FormClick(System::TObject *)' referenced from F:\ARCHIVOS DE PROGRAMA\BORLAND\CBUILDER6\PROJECTS\UNIT1.OBJ

Espero te sirva y me hayas entendido.
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.

jcjulio

  • Nuevo Miembro
  • *
  • Mensajes: 8
    • Ver Perfil
Re: Problema Para Eliminar Eventos
« Respuesta #2 en: Jueves 9 de Febrero de 2006, 22:52 »
0
Gracias por el dato, si me sirvio.  Investigando un poco más escontre otra forma de hacerlo, y es eliminando la parte del código que pertenece al evento del que se desea eliminar del UNIT1.CPP, y al compilar de nuevo, automáticamente se elimina tambien la parte del header file. Pero solo se debe eliminar el código que uno creo no lo que automaticamente crea el C++ Builder, porque sino tampoco va a compilar.

El problema que me ocurrió era que yo solo comentaba esta parte del código, y por ende la parte del header file no se eliminava, porque ha si estuviera comentado había algo en ese evento.

Muchas Gracias

Linspire

  • Miembro MUY activo
  • ***
  • Mensajes: 232
    • Ver Perfil
    • http://www.cedrela.com.mx
Re: Problema Para Eliminar Eventos
« Respuesta #3 en: Viernes 10 de Febrero de 2006, 16:46 »
0
De nada, y que bien que hayas encontrado la solución y que te haya servido lo que te dije porque ese problema ya me estaba poniendo de mal humor.
[size=109]My Blog de Programación[/i][/b][/size]
´


[size=109]Tan solo quiero pensar que todo es un sueño y que no quiero despertar
porque quiero controlarlo como yo quiera.
[/size]

Todo es posible, lo imposible solo cuesta un poco más. Dan Drown.