LoadLibrary a do zwolnienia FreeLibrary
wystarczy zrobić funkcję zwracającą wskaźniki na tekst, w DLLce zrób tak
char* StringTable[]=
{
"tekst 1", //0
"blablabla", //1
"i reszta" //2
};
a funkcja zwracająca wskaźnik:
extern "C" char* __declspec(dllexport) GetString(unsigned int number)
{
if(number<3) return StringTable[number]; else return NULL;
}
Tyle, że w ten sposób char będą const, więc nie możesz ich zmieniać...
Jeszcze w programie po załadowaniu bliblioteki będziesz musiał zaimportować tą funkcję:
typedef char*(__declspec* TypeGetString)(unsigned int);
TypeGetString GetString;
HINSTANCE hLib=LoadLibrary("biblioteka.dll");
if(hLib)
{
GetString=(TypeGetString)GetProcAdress(hLib,"GetString");
if(GetString!=NULL) MessageBox(NULL,"funkcja poprawnie załadowana","sukces",MB_OK);
}
//użycie funckji
cout<<GetString[1]<<endl;//wyświetli tekst numer 1 czyli blablabla
//po zakończeniu pracy z biblioteką
FreeLibrary(hLib);
hLib=NULL;