Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: Crois en 01 de Enero de 1970, 01:00:00 AM

Título: Llamar a una DLL desde visual c++ 6
Publicado por: Crois en 01 de Enero de 1970, 01:00:00 AM
                                Como lo hago para llamar a una funcion de una DLL desde visual c++ sin el archivo de cabecera.
                               
Título: Llamar a una DLL desde visual c++ 6
Publicado por: BeRSeRKeR en 01 de Enero de 1970, 01:00:00 AM
                                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
                               
Título: Llamar a una DLL desde visual c++ 6
Publicado por: Crois en 01 de Enero de 1970, 01:00:00 AM
                                Gracias.Me estaba poniendo histerico
                               
Título: Llamar a una DLL desde visual c++ 6
Publicado por: ethernet en 01 de Enero de 1970, 01:00:00 AM
                                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                                
Título: Llamar a una DLL desde visual c++ 6
Publicado por: Crois en 01 de Enero de 1970, 01:00:00 AM
                                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 ]