Ok, I have searched the forums, and the best I could come up with still doesn't work. I know the DLL works because it works in my Blitz3D program. What am I doing wrong in BlitzMax? (I'm new to it)
This works:
This doesn't work:
Here is the contents of the decls file for Blitz3D:
You can download all of the files and try it yourself if you want:
http://www.gilligames.com/DB_Test.rar
(27 kb download)
This works:
; Blitz3D Local sErr$ Local sConStr$ = "provider=Microsoft.Jet.OLEDB.4.0;data source=Data.mdb;Jet OLEDB:Database Password=;" sErr = GGDB_Connect(sConStr, "", "") If sErr <> "" Then RuntimeError(sErr) sErr = GGDB_RSOpen("SELECT Animation_ID,Animation FROM Animation ORDER BY Animation") If sErr <> "" Then RuntimeError(sErr) While Not GGDB_RSEOF() Print GGDB_RSValue("Animation_ID") + ", " + GGDB_RSValue("Animation") GGDB_RSMoveNext() Wend GGDB_Disconnect() WaitKey End
This doesn't work:
' BlitzMax Global dll% = LoadLibraryA("GG_DB.dll") Global GGDB_Connect$(ConnStr$, UserID$, Password$) Global GGDB_Disconnect$() Global GGDB_Exec$(SQL$) Global GGDB_RSOpen$(SQL$) Global GGDB_RSClose$() Global GGDB_RSValue$(DBField$) Global GGDB_RSEOF%() Global GGDB_RSBOF%() Global GGDB_RSMoveNext%() Global GGDB_RSMovePrevious%() Global GGDB_RSMoveFirst%() Global GGDB_RSMoveLast%() Global GGDB_RSRecordCount%() GGDB_Connect = GetProcAddress(dll, "_GGDB_Connect@12") GGDB_Disconnect = GetProcAddress(dll, "_GGDB_Disconnect@0") GGDB_Exec = GetProcAddress(dll, "_GGDB_Exec@4") GGDB_RSOpen = GetProcAddress(dll, "_GGDB_RSOpen@4") GGDB_RSClose = GetProcAddress(dll, "_GGDB_RSClose@0") GGDB_RSValue = GetProcAddress(dll, "_GGDB_RSValue@4") GGDB_RSEOF = GetProcAddress(dll, "_GGDB_RSEOF@0") GGDB_RSBOF = GetProcAddress(dll, "_GGDB_RSBOF@0") GGDB_RSMoveNext = GetProcAddress(dll, "_GGDB_RSMoveNext@0") GGDB_RSMovePrevious = GetProcAddress(dll, "_GGDB_RSMovePrevious@0") GGDB_RSMoveFirst = GetProcAddress(dll, "_GGDB_RSMoveFirst@0") GGDB_RSMoveLast = GetProcAddress(dll, "_GGDB_RSMoveLast@0") GGDB_RSRecordCount = GetProcAddress(dll, "_GGDB_RSRecordCount@0") Local sErr$ Local sConStr$ = "provider=Microsoft.Jet.OLEDB.4.0;data source=Data.mdb;Jet OLEDB:Database Password=;" sErr = GGDB_Connect(sConStr, "", "") If sErr <> "" Then RuntimeError(sErr) sErr = GGDB_RSOpen("SELECT Animation_ID,Animation FROM Animation ORDER BY Animation") If sErr <> "" Then RuntimeError(sErr) While Not GGDB_RSEOF() Print GGDB_RSValue("Animation_ID") + ", " + GGDB_RSValue("Animation") GGDB_RSMoveNext() Wend GGDB_Disconnect() WaitKey End
Here is the contents of the decls file for Blitz3D:
.lib "GG_DB.dll" GGDB_Connect$(ConnStr$,UserID$,Password$):"_GGDB_Connect@12" GGDB_Disconnect$():"_GGDB_Disconnect@0" GGDB_Exec$(SQL$):"_GGDB_Exec@4" GGDB_RSOpen$(SQL$):"_GGDB_RSOpen@4" GGDB_RSClose$():"_GGDB_RSClose@0" GGDB_RSValue$(Field$):"_GGDB_RSValue@4" GGDB_RSEOF%():"_GGDB_RSEOF@0" GGDB_RSBOF%():"_GGDB_RSBOF@0" GGDB_RSMoveNext%():"_GGDB_RSMoveNext@0" GGDB_RSMovePrevious%():"_GGDB_RSMovePrevious@0" GGDB_RSMoveFirst%():"_GGDB_RSMoveFirst@0" GGDB_RSMoveLast%():"_GGDB_RSMoveLast@0" GGDB_RSRecordCount%():"_GGDB_RSRecordCount@0"
You can download all of the files and try it yourself if you want:
http://www.gilligames.com/DB_Test.rar
(27 kb download)