Здравствуйте, Аноним, Вы писали:
А>взял с мсдн-а, сама длл лежит рядом с ланчером с названием DLLnew.dll но постоянно получаю "Message printed from executable"
А>А>typedef int (__cdecl *MYPROC)(LPWSTR);
А>VOID main(VOID){
А> #undef _UNICODE
А> int argc;
А> char *argv[2];
А> HINSTANCE hinstLib;
А> MYPROC ProcAdd;
А> BOOL fFreeResult, fRunTimeLinkSuccess = FALSE;
А> hinstLib = LoadLibrary(/*argv[1]*/_T("DLLnew.dll"));function address.
А> if (hinstLib != NULL) {
А> ProcAdd = (MYPROC) GetProcAddress(hinstLib, /*argv[2]*/"new");
А> if (NULL != ProcAdd) {
А> fRunTimeLinkSuccess = TRUE;
А> (ProcAdd) (L"Message sent to the DLL function\n");
А> }
А> fFreeResult = FreeLibrary(hinstLib);
А> }
А> if (! fRunTimeLinkSuccess)
А> printf("Message printed from executable\n");
А>}
А>
Этот кошмар взят из MSDN-а??
есть 2 варианта:
— dllnew.dll не загружается (мабуть, ее DllMain вертает FALSE, или она зависит от других DLL, которых не может найти)
— она не экспортирует символ с именем "new"