опубликован 20-09-2001 19:35 MSK
Перефразировал топик насчет dll. Проблема в следующем : допустим в некой dll-ке Pack.dll есть функция для экспорта
__declspec( dllexport ) void CreateTemp(char *pstr,void **PTemp);
При этом фрагмент секции экспорта для Pack.dll, полученный с помощью IMPDEF.exe выглядит так:
LIBRARY PACK.DLLEXPORTS
@@Temp@Finalize @9 ; __linkproc__ Temp::Finalize
@@Temp@Initialize @8 ; __linkproc__ Temp::Initialize
@CreateTemp$qpcppv @7 ; CreateTemp(char *, void * *)
Как видим "CreateTemp" превратился в "@CreateTemp$qpcppv" а также автоматически присвоился номер 7.
Теперь для получения адреса CreateTemp после LoadLibrary приходится записывать так:
*(FARPROC*)&pfn = GetProcAddress(hPack, "@CreateTemp$qpcppv");
а хотелось использовать нормальное имя.Подскажите что делать.