wglGetProcAddress()?
BlitzMax Forums/BlitzMax OpenGL Programming/wglGetProcAddress()? you can use getprocddress from win32 if you get a pointer from opengl.dll, have a look at my opengl logger on my site
I don't want to open another instance of the library.
According to the docs, this function is found in openg32.dll.
According to the docs, this function is found in openg32.dll.
try:
Function wglGetProcAddress:byte ptr(lpszProc$z)
$z automatically creates an ascii version of a BlitzMax string and frees it up once the function has been called and byte ptr is like void * in C and should be able to be cast to a function pointer in max although I'm not 100% on that...
you should also be adding the declaration to win32.mod/gdi32.bmx after wglMakeCurrent as an extern "win32" block dictate the functions use stdcall calling conventions and there are already some wgl declarations present in this file.
If you're not into remaking modules I would also suggest just sticking the declaration at the top of your source in an extern "win32" block as external function don't have to be declared in modules.
Function wglGetProcAddress:byte ptr(lpszProc$z)
$z automatically creates an ascii version of a BlitzMax string and frees it up once the function has been called and byte ptr is like void * in C and should be able to be cast to a function pointer in max although I'm not 100% on that...
you should also be adding the declaration to win32.mod/gdi32.bmx after wglMakeCurrent as an extern "win32" block dictate the functions use stdcall calling conventions and there are already some wgl declarations present in this file.
If you're not into remaking modules I would also suggest just sticking the declaration at the top of your source in an extern "win32" block as external function don't have to be declared in modules.
This causes an "unrecognized calling convention" error:
Also tried "opengl32", same result.
Extern "OpenGL" Function wglGetProcAddress:Byte Ptr(lpszProc$z) EndExtern
Also tried "opengl32", same result.
You just need to change it to "Win32" and your away! its a calling convention, not what dll to use.
Cool! Thanks for the help.
wglprocaddress() returns an address for OpenGL extension commands. Now I need to figure out how to make BMax call the process address as a function?!
wglprocaddress() returns an address for OpenGL extension commands. Now I need to figure out how to make BMax call the process address as a function?!
I don't want to open another instance of the library.
According to the docs, this function is found in openg32.dll.
Global vstModule:Int vstModule=LoadLibraryA( vstdllname ) Global testmod:Int testmod=LoadLibraryA( vstdllname ) Print "vst Module "+vstModule Print "2nd Module "+testmod
dlls only get mapped into process space once only
Just thought I'd mention it because its important...