Como lo hago para llamar a una funcion de una DLL desde visual c++ sin el archivo de cabecera.
Jeje, precisamente anoche estuve trasteando con el C++ Builder y Direct3D...y como no sabía como especificar las librerías que había que linkar y me decía que no encontraba la función Direct3DCreate8 pues hice esto:
// Declaramos puntero a la función
HRESULT (WINAPI *Direct3DCreate8)(UINT);
// En la función de inicialización de D3D...
HINSTANCE hInst = LoadLibraryA("d3d8.dll");
*(FARPROC*)&Direct3DCreate8 = GetProcAddress(hInst, "Direct3DCreate8");
// Creamos el objeto D3D
IDirect3D8 *pD3D8;
pD3D8 = (IDirect3D8*)Direct3DCreate8(D3D_SDK_VERSION);
Ya está, con eso conseguí que funcionase. Eso mismo lo hice con algunas funciones de D3DX pero por suerte ya sé cómo linkar correctamente las libs con el C++ Builder :riendo:
Ni que decir tiene que ese código también te funcionará con el Visual C++. ¡Ah...tendrás que saber el prototipo de la función que quieres extraer de la dll!
Saludos
Gracias.Me estaba poniendo histerico
Si mirais el codigo del quake2 se ve como tb hace eso con toda opengl.dll con la parte de render para elegir entre hard y soft.
El codigo del quake2 tiene mucha miga ;DDD
Saludos
Al ejecutar mi código me da un error de windows.Y cuando miro el debug aparece un ACCES VIOLATION.......
A que se puede deber?
Me aparece continuamente en algunos programas.
///////////////////////////
First-chance exception in ss.exe: 0xC0000005: Access Violation
//////////////////////////
[ Este Mensaje fue editado por: Crois el 2002-08-29 18:39 ]