Bonjour a tous

Voila je pense que jai bien resumer la situation dans le sujet.
Jai un enorme problème!
Voila jai créer une DLL avec VS2005, il ma donc créer une classe, jai rajouté des fonctions dans cette classe et maintenant jaimerais les utilisé
comme je fesait dans les versions davant mais...et oui...le GetProcAddress me renvoit une erreur alors que non avant...

Voici le code qui marche :
Dans la DLL sans passer par les classes créer par VS2005
extern "C" __declspec(dllexport) DWORD Greffon_Start(CString* bob)
{
(*bob)="uhhu";
return 0;
}
Dans le Code pour utiliser la DLL
...
HINSTANCE m_hLibrary;
m_hLibrary = LoadLibrary(L".\\DLLVide.dll");
if (m_hLibrary == NULL)
{AfxMessageBox(L"erreur chargement Dll",MB_SYSTEMMODAL);return;}
Greffon_Start=(start)GetProcAddress(m_hLibrary, L"Greffon_Start");
if(!Greffon_Start)
{AfxMessageBox(L"erreur chargement fonction Start Dll",MB_SYSTEMMODAL);return;}
sz="texte avant";
GetDlgItem(IDC_EDIT3)->SetWindowTextW(sz);
Greffon_Start(&sz);
GetDlgItem(IDC_EDIT4)->SetWindowTextW(sz);
...
Voila ce bout de code marche super bien comme ca.
Mon problème est...A quoi sert alors les classes créer par VS2005 et ...au pire...comment faire pour utiliser cette classe de facon dynamique
cest a dire en gardant la meme structure que le code pour utiliser la DLL (LoadLibrary et GetProcAdress)
Et donc sans passer par des : #pragma (lib, "DLLVide.lib") avec le .h et tt et tt
En gros..j'aimerais avoir un truc du genre
class CDLLVideApp : public CWinApp
{
public:
CDLLVideApp();
// Substitutions
public:
virtual BOOL InitInstance();
DECLARE_MESSAGE_MAP()
DWORD Greffon_Start(CString* bob);
};
et que ca marche pareil!

Un grand merci davance a celui qui pourra meclairer!