Ver Mensaje Individual
  #4  
Antiguo 27-06-2014
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Reputación: 11
aguml Va por buen camino
Bueno ya estoy por casa. Al final he guardado el que usa __closure porque funciona pero estoy intentando arreglarlo asi:

En el constructor:
Código:
TPrueba::TPrueba()
{
    //Creo la estructura
    Conversion = new TIPOS;

    //Inicializacion de las funciones de la estructura para los Anti-Anti-Debug
    Conversion->toFloat = &toFloat;
    Conversion->toBin = &toBin;
}
En el public de la clase:
Código:
//Declaracion del tipo de estructura para los Anti-Anti-Debug
struct TIPOS{
        AnsiString __fastcall (TPrueba::*toFloat(int));
        AnsiString __fastcall (TPrueba::*toBin(int));
}*Conversion;
En el private tengo esto:
Código:
AnsiString __fastcall toFloat(int);
AnsiString __fastcall toBin(int);
En el .cpp de la clase tengo esto:
Código:
AnsiString __fastcall TPrueba::toFloat(int value)
{
    return "";
}
//---------------------------------------------------------------------------

AnsiString __fastcall TPrueba::toBin(int value)
{
    return "";
}
Y por ultimo en el Unit1.cpp tengo esto:
Código:
Prueba  = new TPrueba();

AnsiString Float = Prueba->Conversion->toFloat(1000);
AnsiString Bin = Prueba->Conversion->toBin(1000);
Y el error que me está dando es este:
Código:
[C++ Error] TPrueba.cpp(16): E2235 Member function must be called or its address taken
[C++ Error] TPrueba.cpp(17): E2235 Member function must be called or its address taken
Me pone en rojo la zona donde asigno el miembro al puntero, en el constructor.
Responder Con Cita