Re: ткните что неправильно в ланчере...
От: _Ursus_  
Дата: 12.09.08 11:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>взял с мсдн-а, сама длл лежит рядом с ланчером с названием 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"
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.