Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Exportacion De Clases A Dll

Iniciado por TheAzazel, 17 de Julio de 2005, 11:22:46 PM

« anterior - próximo »

TheAzazel

 Buenas!

resulta que tengo exportada un clase a DLL:

class __declspec(dllexport) MyClass

y lo que logra es que todos los miembros, los exporte tambien pero.... quiero que algunos miembros(los privados fundamentalmente) no se exporten.

Existe algun modo de evitarlo???

graciassss


TheAzazel

 Je, pues parece q lo he visto ahora mismo...es q estoy empanado y no lei bien esta frase:

CitarNote that explicit use of the dllimport and dllexport attributes on members of an exportable class is prohibited.

de:

http://msdn.microsoft.com/library/default....t_in_c.2b2b.asp

vamos, q lo que no puedo es...si una clase esta exportada entera...decirle lo que no esta exportado... pero si puedo.. no exportar la clase y exportar selectivamente los miembros que me interesen... estos de microsoft podrian haber permitido todo... porque para evitar exportar un miembro de por ejemplo, 20...tendras que declarar a 19 como exportables y el q tu no quieres..no decirle nada... en fins...

duda resuelta :)

gdl

 Mmmmm... ¿usando un patrón de diseño interfaz/implementación y exportando el interfaz?

Por el link supongo que estás trabajando con Visual C.

class __declspec(dllexport) MyClass
{
public:
.... miembros a exportar ...

class MyClassImpl * m_pImpl;
}


No defino la clase MyClassImpl en este fichero por lo que queda opaca y no se puede usar aunque se exporte. Por otro lado, internamente y sin exportar...

class MyClassImpl
{
public:
... miembros a no exportar ...
}


TheAzazel

 Uhmm.. me has dado una idea, voy a ver cuan costoso seria en tiempo de aplicarlo.
Hasta eso, se me habia ocurrido sacar algunas funciones de la clase y dejaras "escondidas" junto con la implementacion de la clase... funcionar funciona pero no me gusta pq ya no esta todo bajo una clase....
gracias