UPGRADE ON WRAPPER for SQlitening.
With the help of PureDLLHelper(Copyright ©2012 by Thomas <ts-soft> Schulz - tks marvelous piece of work
) I created the frame for the wrapper.
2 DLL's are needed: the main is SQliteningU.dll - but some functions must be called directly from SQlitening.dll.
Code: Select all
;SQLiteningPB.inc
;==========================================================================
; Generated with PureDLLHelper, Copyright ©2012 by Thomas <ts-soft> Schulz
;************************************************************************
;Functions from SQliteningU.dll
;************************************************************************
;===========================<[ Field Get ]>============================
;Declare Sub sluF lib "SQLiteningU.Dll" alias "sluF" ( _
; byval ColumnNumber As Long, _
; byval FieldValue As Long, _
; byref SizeOfFieldValue As Long, _
; byval SetNumber As Long)
; FieldValue is a pointer to the memory which will receive the field value.
; A Null (hex ;00') will be added to end.
; SizeOfFieldValue is both passed and returned. Pass the size of FieldValue.
; It must be at least the size of the returning field value + 1.
; The actual length of the returing field value is returned.
; If the passed size is too small then error -13 will be raised
; and the returning length will be set to -1.
Prototype sluF(ColumNumber.l, *FieldValue, *SizeOfField, SetNumber.l = 0)
;==========================================================================
;============================<[ Get Row ]>=============================
;Declare Function sluGetRow lib "SQLiteningU.Dll" alias "sluGetRow" ( _
;byval SetNumber As Long, _
; byval ModChars As Long) As Long
; ModChars is a pointer to a null-terminated string. If not needed you
; may pass a zero.
Prototype sluGetRow(SetNumber.l = 0, ModChars.p-ascii = 0)
;==========================================================================
;==============================<[ Open ]>==============================
;Declare Function sluOpen lib "SQLiteningU.Dll" alias "sluOpen" ( _
; byval FileName As Long, _
; byval ModChars As Long) As Long
; FileName is a pointer to a null-terminated string. If not needed you
; may pass a zero.
; ModChars is a pointer to a null-terminated string. If not needed you
; may pass a zero.
Prototype sluOpen(FileName.p-ascii = 0 , ModChars.p-ascii = 0)
;==========================================================================
;;;==============================<[ Sel ]>===============================
;Declare Function sluSel lib "SQLiteningU.Dll" alias "sluSel" ( _
; byval Statement As Long, _
; byval SetNumber As Long, _
; byval ModChars As Long) As Long
; Statement is a pointer to a null-terminated string.
; ModChars is a pointer to a null-terminated string. If not needed you
; may pass a zero.
Prototype sluSel(Statement.p-ascii, SetNumber.l = 0, ModChars.p-ascii = 0)
;==========================================================================
;'==============================<[ Exe ]>===============================
;Declare Function sluExe lib "SQLiteningU.Dll" alias "sluExe" (_
; byval Statement As Long, _
; byval ModChars As Long) As Long
; Statement is a pointer to a null-terminated string.
; ModChars is a pointer to a null-terminated string. If not needed you
; may pass a zero.
Prototype sluExe(Statement.p-ascii, ModChars.p-ascii = 0)
;==========================================================================
;============================<[ Sel Str ]>=============================
;Declare Sub sluSelStr lib "SQLiteningU.Dll" alias "sluSelStr" ( _
; byval Statement As Long, _
; byval ModChars As Long, _
; byval FieldsAndRows As Long, _
; byref SizeOfFieldsAndRows As Long)
; Statement is a pointer to a null-terminated string.
; ModChars is a pointer to a null-terminated string. If not needed you
; may pass a zero.
; FieldsAndRows is a pointer to the memory which will receive the fields
; and rows. The fields and rows are returned as a $VT:$BS
; delimited text string.
; SizeOfFieldsAndRows is both passed and returned. Pass the size of
; FieldsAndRows. It must be at least the size of
; the returning fields and rows. The actual length
; of the returing fields and rows is returned.
; If the passed size is too small then the returning
; length will be set to -1.
Prototype sluSelStr(Statement.p-ascii, ModChars.p-ascii , FieldsAndRows.p-ascii, d)
;==========================================================================
;************************************************************************
;Functions from SQlitening.dll
;************************************************************************
;'========================<[ Get Column Count ]>========================
;Declare Function sluGetColumnCount lib "SQLitening.Dll" alias "slGetColumnCount" ( _
; byval SetNumber As Long) As Long
; Calls SQLitening.Dll directly.
Prototype slGetColumnCount(SetNumber.l = 0)
;==========================================================================
;=============================<[ Close ]>==============================
;Declare Sub sluClose lib "SQLitening.Dll" alias "slClose"
;' Calls SQLitening.Dll directly.
Prototype slClose()
;========================================================================
Prototype sluAttach(a, b, c)
Prototype sluBuildBindDat(a, b, c, d, e)
Prototype sluBuildInsertOrUpdate(a, b, c, d, e, f, g)
Prototype sluConnect(a, b, c, d, e)
Prototype sluConvertDat(a, b, c, d, e)
Prototype sluCopyDatabase(a, b, c)
;Prototype sluExe(a, b)
Prototype sluExeBind(a, b, c, d)
;Prototype sluF(a, b, c, d)
Prototype sluFN(a, b, c, d)
Prototype sluFNX(a, b, c, d, e)
Prototype sluFX(a, b, c, d, e)
Prototype sluGetColumnName(a, b, c, d)
Prototype sluGetColumnNumber(a, b)
Prototype sluGetDatabaseAndFileNames(a, b)
Prototype sluGetError(a, b)
Prototype sluGetFieldDataTypes(a, b, c)
Prototype sluGetFile(a, b, c, d)
Prototype sluGetHandle(a, b)
;Prototype sluGetRow(a, b)
Prototype sluGetStatus(a, b, c)
Prototype sluGetTableColumnNames(a, b, c)
Prototype sluGetTableNames(a, b, c)
Prototype sluIsColumnNameValid(a, b)
Prototype sluIsDatabaseNameValid(a)
Prototype sluIsTableNameValid(a)
;Prototype sluOpen(a, b)
Prototype sluPopDatabase(a)
Prototype sluPopSet(a, b, c)
Prototype sluPushDatabase(a)
Prototype sluPushSet(a, b, c)
Prototype sluPutFile(a, b, c, d)
Prototype sluRunProc(a, b, c, d, e, f, g, h, i, j)
;Prototype sluSel(a, b, c)
Prototype sluSelBind(a, b, c, d, e)
;Prototype sluSelStr(a, b, c, d)
Prototype sluSetProcessMods(a)
Prototype sluSetRelNamedLocks(a, b, c, d, e)
Prototype sulGetChangeCount(a)
Prototype IRISDATE(a)
Prototype slCloseSet(a)
Prototype slDisconnect()
Prototype slGetColumnName(a, b)
Prototype slGetColumnNumber(a, b)
Prototype slGetErrorNumber()
Prototype slGetInsertID()
Prototype slGetUnusedSetNumber()
Prototype slIsColumnNumberValid(a, b)
Prototype slIsFieldNull(a, b)
Prototype slIsOpen()
Prototype slIsSetNumberValid(a)
Global sluAttach.sluAttach
Global sluBuildBindDat.sluBuildBindDat
Global sluBuildInsertOrUpdate.sluBuildInsertOrUpdate
Global sluConnect.sluConnect
Global sluConvertDat.sluConvertDat
Global sluCopyDatabase.sluCopyDatabase
Global sluExe.sluExe
Global sluExeBind.sluExeBind
Global sluF.sluF
Global sluFN.sluFN
Global sluFNX.sluFNX
Global sluFX.sluFX
Global sluGetColumnName.sluGetColumnName
Global sluGetColumnNumber.sluGetColumnNumber
Global sluGetDatabaseAndFileNames.sluGetDatabaseAndFileNames
Global sluGetError.sluGetError
Global sluGetFieldDataTypes.sluGetFieldDataTypes
Global sluGetFile.sluGetFile
Global sluGetHandle.sluGetHandle
Global sluGetRow.sluGetRow
Global sluGetStatus.sluGetStatus
Global sluGetTableColumnNames.sluGetTableColumnNames
Global sluGetTableNames.sluGetTableNames
Global sluIsColumnNameValid.sluIsColumnNameValid
Global sluIsDatabaseNameValid.sluIsDatabaseNameValid
Global sluIsTableNameValid.sluIsTableNameValid
Global sluOpen.sluOpen
Global sluPopDatabase.sluPopDatabase
Global sluPopSet.sluPopSet
Global sluPushDatabase.sluPushDatabase
Global sluPushSet.sluPushSet
Global sluPutFile.sluPutFile
Global sluRunProc.sluRunProc
Global sluSel.sluSel
Global sluSelBind.sluSelBind
Global sluSelStr.sluSelStr
Global sluSetProcessMods.sluSetProcessMods
Global sluSetRelNamedLocks.sluSetRelNamedLocks
Global sulGetChangeCount.sulGetChangeCount
Global IRISDATE.IRISDATE
Global slClose.slClose
Global slCloseSet.slCloseSet
Global slDisconnect.slDisconnect
Global slGetColumnCount.slGetColumnCount
Global slGetColumnName.slGetColumnName
Global slGetColumnNumber.slGetColumnNumber
Global slGetErrorNumber.slGetErrorNumber
Global slGetInsertID.slGetInsertID
Global slGetUnusedSetNumber.slGetUnusedSetNumber
Global slIsColumnNumberValid.slIsColumnNumberValid
Global slIsFieldNull.slIsFieldNull
Global slIsOpen.slIsOpen
Global slIsSetNumberValid.slIsSetNumberValid
Procedure.i SQLiteningU_LoadDLL()
Protected hDLL.i
hDLL = OpenLibrary(#PB_Any, "SQLiteningU.dll")
If hDLL <> 0
sluAttach = GetFunction(hDLL, "sluAttach")
sluBuildBindDat = GetFunction(hDLL, "sluBuildBindDat")
sluBuildInsertOrUpdate = GetFunction(hDLL, "sluBuildInsertOrUpdate")
sluConnect = GetFunction(hDLL, "sluConnect")
sluConvertDat = GetFunction(hDLL, "sluConvertDat")
sluCopyDatabase = GetFunction(hDLL, "sluCopyDatabase")
sluExe = GetFunction(hDLL, "sluExe")
sluExeBind = GetFunction(hDLL, "sluExeBind")
sluF = GetFunction(hDLL, "sluF")
sluFN = GetFunction(hDLL, "sluFN")
sluFNX = GetFunction(hDLL, "sluFNX")
sluFX = GetFunction(hDLL, "sluFX")
sluGetColumnName = GetFunction(hDLL, "sluGetColumnName")
sluGetColumnNumber = GetFunction(hDLL, "sluGetColumnNumber")
sluGetDatabaseAndFileNames = GetFunction(hDLL, "sluGetDatabaseAndFileNames")
sluGetError = GetFunction(hDLL, "sluGetError")
sluGetFieldDataTypes = GetFunction(hDLL, "sluGetFieldDataTypes")
sluGetFile = GetFunction(hDLL, "sluGetFile")
sluGetHandle = GetFunction(hDLL, "sluGetHandle")
sluGetRow = GetFunction(hDLL, "sluGetRow")
sluGetStatus = GetFunction(hDLL, "sluGetStatus")
sluGetTableColumnNames = GetFunction(hDLL, "sluGetTableColumnNames")
sluGetTableNames = GetFunction(hDLL, "sluGetTableNames")
sluIsColumnNameValid = GetFunction(hDLL, "sluIsColumnNameValid")
sluIsDatabaseNameValid = GetFunction(hDLL, "sluIsDatabaseNameValid")
sluIsTableNameValid = GetFunction(hDLL, "sluIsTableNameValid")
sluOpen = GetFunction(hDLL, "sluOpen")
sluPopDatabase = GetFunction(hDLL, "sluPopDatabase")
sluPopSet = GetFunction(hDLL, "sluPopSet")
sluPushDatabase = GetFunction(hDLL, "sluPushDatabase")
sluPushSet = GetFunction(hDLL, "sluPushSet")
sluPutFile = GetFunction(hDLL, "sluPutFile")
sluRunProc = GetFunction(hDLL, "sluRunProc")
sluSel = GetFunction(hDLL, "sluSel")
sluSelBind = GetFunction(hDLL, "sluSelBind")
sluSelStr = GetFunction(hDLL, "sluSelStr")
sluSetProcessMods = GetFunction(hDLL, "sluSetProcessMods")
sluSetRelNamedLocks = GetFunction(hDLL, "sluSetRelNamedLocks")
sulGetChangeCount = GetFunction(hDLL, "sulGetChangeCount")
ProcedureReturn hDLL
EndIf
ProcedureReturn #False
EndProcedure
Procedure.i SQLitening_LoadDLL()
Protected hDLL.i
hDLL = OpenLibrary(#PB_Any, "SQLitening.dll")
If hDLL <> 0
IRISDATE = GetFunction(hDLL, "IRISDATE")
slAttach = GetFunction(hDLL, "slAttach")
slBuildBindDat = GetFunction(hDLL, "slBuildBindDat")
slBuildInsertOrUpdate = GetFunction(hDLL, "slBuildInsertOrUpdate")
slClose = GetFunction(hDLL, "slClose")
slCloseSet = GetFunction(hDLL, "slCloseSet")
slConnect = GetFunction(hDLL, "slConnect")
slConvertDat = GetFunction(hDLL, "slConvertDat")
slCopyDatabase = GetFunction(hDLL, "slCopyDatabase")
slDisconnect = GetFunction(hDLL, "slDisconnect")
slExe = GetFunction(hDLL, "slExe")
slExeBind = GetFunction(hDLL, "slExeBind")
slF = GetFunction(hDLL, "slF")
slFN = GetFunction(hDLL, "slFN")
slFNX = GetFunction(hDLL, "slFNX")
slFX = GetFunction(hDLL, "slFX")
slGetChangeCount = GetFunction(hDLL, "slGetChangeCount")
slGetColumnCount = GetFunction(hDLL, "slGetColumnCount")
slGetColumnName = GetFunction(hDLL, "slGetColumnName")
slGetColumnNumber = GetFunction(hDLL, "slGetColumnNumber")
slGetDatabaseAndFileNames = GetFunction(hDLL, "slGetDatabaseAndFileNames")
slGetError = GetFunction(hDLL, "slGetError")
slGetErrorNumber = GetFunction(hDLL, "slGetErrorNumber")
slGetFieldDataTypes = GetFunction(hDLL, "slGetFieldDataTypes")
slGetFile = GetFunction(hDLL, "slGetFile")
slGetHandle = GetFunction(hDLL, "slGetHandle")
slGetInsertID = GetFunction(hDLL, "slGetInsertID")
slGetRow = GetFunction(hDLL, "slGetRow")
slGetStatus = GetFunction(hDLL, "slGetStatus")
slGetTableColumnNames = GetFunction(hDLL, "slGetTableColumnNames")
slGetTableNames = GetFunction(hDLL, "slGetTableNames")
slGetUnusedSetNumber = GetFunction(hDLL, "slGetUnusedSetNumber")
slIsColumnNameValid = GetFunction(hDLL, "slIsColumnNameValid")
slIsColumnNumberValid = GetFunction(hDLL, "slIsColumnNumberValid")
slIsDatabaseNameValid = GetFunction(hDLL, "slIsDatabaseNameValid")
slIsFieldNull = GetFunction(hDLL, "slIsFieldNull")
slIsOpen = GetFunction(hDLL, "slIsOpen")
slIsSetNumberValid = GetFunction(hDLL, "slIsSetNumberValid")
slIsTableNameValid = GetFunction(hDLL, "slIsTableNameValid")
slOpen = GetFunction(hDLL, "slOpen")
slPopDatabase = GetFunction(hDLL, "slPopDatabase")
slPopSet = GetFunction(hDLL, "slPopSet")
slPushDatabase = GetFunction(hDLL, "slPushDatabase")
slPushSet = GetFunction(hDLL, "slPushSet")
slPutFile = GetFunction(hDLL, "slPutFile")
slRunProc = GetFunction(hDLL, "slRunProc")
slSel = GetFunction(hDLL, "slSel")
slSelAry = GetFunction(hDLL, "slSelAry")
slSelBind = GetFunction(hDLL, "slSelBind")
slSelStr = GetFunction(hDLL, "slSelStr")
slSetProcessMods = GetFunction(hDLL, "slSetProcessMods")
slSetRelNamedLocks = GetFunction(hDLL, "slSetRelNamedLocks")
ProcedureReturn hDLL
EndIf
ProcedureReturn #False
EndProcedure