Page 1 of 1
Blitz 3D SDK V104 B2 Cannot Open B3D.DLL
Posted: Sun Jan 25, 2009 1:10 am
by akj
I cannot open the Blitz 3D SDK file B3D.DLL using:
Code: Select all
Global b3ddll = OpenLibrary(#PB_Any, "C:\Windows\System32\b3d.dll")
If b3ddll = 0
MessageRequester ("Fatal error!", "Failed to open b3d.dll")
End
EndIf
The OpenLibrary() statement always returns 0.
Redownloading the SDK package made no difference.
I am using version 104 beta 2 of the SDK package under Windows ME and PureBasic 4.30.
Can anyone else with Windows ME/98 get the DLL file to open?
Posted: Sun Jan 25, 2009 1:16 am
by Pupil
The path might be wrong? Have you tried "C:\windows\system32\b3d.dll"?
Posted: Sun Jan 25, 2009 1:20 am
by ABBKlaus
there´s no need to use a path, what does getlasterror say ?
Code: Select all
Global b3ddll = OpenLibrary(#PB_Any, "b3d.dll")
If b3ddll = 0
err=GetLastError_()
MessageRequester ("Fatal error!", "Failed to open b3d.dll"+Chr(13)+"Error code "+Str(err))
End
EndIf
Posted: Sun Jan 25, 2009 1:21 am
by akj
@Pupil:
Sorry, that was a typo. I've now corrected it in the first post, but the OpenLibrary() call still fails.
Posted: Sun Jan 25, 2009 1:32 am
by akj
@ABBKlaus:
Thank you for your suggestion. The error code returned is 31 which appears to mean "A device attached to the system is not functioning.".
But this message doesn't make much sense.
The code I used to get the textual error message was:
Code: Select all
Procedure.s GetLastError() ; AKJ 18-Oct-08
; Return last system error as a string
Protected size, error$, flags
size = #FORMAT_MESSAGE_MAX_WIDTH_MASK-2 ; 253
error$ = Space(size)
flags = #FORMAT_MESSAGE_FROM_SYSTEM|#FORMAT_MESSAGE_MAX_WIDTH_MASK
FormatMessage_(flags, #Null, GetLastError_(), 0, @error$, size, #Null)
ProcedureReturn Trim(error$)
EndProcedure
Posted: Sun Jan 25, 2009 1:55 am
by ABBKlaus
Posted: Sun Jan 25, 2009 2:12 am
by akj
@ABBKlaus:
Unfortunately the 'Experts Exchange' website does not help me because in order to see the solution I am required to enter my credit card details, but I am not willing to do this.
Posted: Sun Jan 25, 2009 2:19 am
by Kaeru Gaman
what a nepp!
this is ridiculous:

Posted: Sun Jan 25, 2009 2:21 am
by ABBKlaus
oh well i just google´d and found that page, heres what they said :
Code: Select all
This error occurs if the dll you want to load uses any function from another dll (i.e. any MFC dll or C-runtime dll) which cannot be be found in this dll. This may happen if you have different versions of this dll (i.e. running a application developed with VC6 on a machine which has the MFC DLLs for VC4.x installed).
You should use dependency walker (depends.exe) to check versions of the imported dlls. With this tool you can see also from which path the dlls will be loaded.
Posted: Sun Jan 25, 2009 3:10 am
by lexvictory
Kaeru Gaman wrote:what a nepp!
you used to be able to disable cookies and scoll past all the categories to see the solution. (thats how googlebot can see them)
But they appear to have removed that - so use google's cache!
Posted: Sun Jan 25, 2009 4:08 pm
by Kale
akj wrote:@ABBKlaus:
Unfortunately the 'Experts Exchange' website does not help me because in order to see the solution I am required to enter my credit card details, but I am not willing to do this.
Just scroll to the bottom of the page to see the answers or use
http://www.stackoverflow.com
EDIT: infact just dont bother with expert exchange and go straight for stackoverflow