como puedo instanciar una clase de codigo administrado desde uno no administrado en forma de variable global.
ejemplo:
clase de codigo administrado :
miRSA::miRSA(void)
{
RSA = gcnew RSACryptoServiceProvider;
publicOnlyKeyXML = RSA->ToXmlString(false) ;
publicPrivateKeyXML = RSA->ToXmlString(true);
int desde = publicOnlyKeyXML->IndexOf("<Modulus>",0)+9;
int iHasta=publicOnlyKeyXML->IndexOf("</Modulus>",0);
LaPublica = publicOnlyKeyXML->Substring(desde, iHasta - desde);
desde = publicOnlyKeyXML->IndexOf("<Exponent>",0)+10;
iHasta=publicOnlyKeyXML->IndexOf("</Exponent>",0);
sExponente = publicOnlyKeyXML->Substring(desde, iHasta - desde);
sPublicaExponente = LaPublica + sExponente;
}
desde codigo no administrado prog.cpp:
// Prueba.cpp: define las funciones exportadas de la aplicación DLL.
//
#include "stdafx.h"
#include "Prueba.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
miRSA^ laRSA; //da error de compilacion 3145
laRSA = gcnew miRSA;
ejemplo:
clase de codigo administrado :
miRSA::miRSA(void)
{
RSA = gcnew RSACryptoServiceProvider;
publicOnlyKeyXML = RSA->ToXmlString(false) ;
publicPrivateKeyXML = RSA->ToXmlString(true);
int desde = publicOnlyKeyXML->IndexOf("<Modulus>",0)+9;
int iHasta=publicOnlyKeyXML->IndexOf("</Modulus>",0);
LaPublica = publicOnlyKeyXML->Substring(desde, iHasta - desde);
desde = publicOnlyKeyXML->IndexOf("<Exponent>",0)+10;
iHasta=publicOnlyKeyXML->IndexOf("</Exponent>",0);
sExponente = publicOnlyKeyXML->Substring(desde, iHasta - desde);
sPublicaExponente = LaPublica + sExponente;
}
desde codigo no administrado prog.cpp:
// Prueba.cpp: define las funciones exportadas de la aplicación DLL.
//
#include "stdafx.h"
#include "Prueba.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
miRSA^ laRSA; //da error de compilacion 3145
laRSA = gcnew miRSA;