ho provato a fare:
esportando l'istanza del singleton tramite la funzione FactoryDS e andando a pescare l'istanza con GetProcAddress.codice:FNPTR pFn; HMODULE mod=GetModuleHandle("C:\\testdata\\Frg\\Debug\\crtx.exe"); pFn=(FNPTR) GetProcAddress(mod, "FactoryDS"); Factory1* F; pFn(F); CBeamDSChess* pChess = F->CreateDS(); int n = pChess->m_nChessBoard; ////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////// void _declspec(dllexport) FactoryDS(Factory1*& pF) { Factory1* pf = Factory1::get_instance(); pF = pf; }
Il problema adesso è l'inclusione dei files , vorrei poter includere tutti gli header di cui ho bisogno nel programma principale e non in quello dove prendo il modulo e l'indirizzo dell'istanza del singleton.
è possibile?
altrimenti il problema è che tantissime funzioni di pChess-> richiedono header che nel progetto principale sono gia inclusi , ma non nel progetto che crea la dll , e non vorrei appesantire troppo quest ultimo , altrimenti non ha senso dividere i due progetti.
grazie.

Rispondi quotando