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