REM ======================================================================================================================= REM === The Access2Base library is a part of the LibreOffice project. === REM === Full documentation is available on http://www.access2base.com === REM ======================================================================================================================= Option Compatible Option Explicit REM ----------------------------------------------------------------------------------------------------------------------- Public Sub DebugPrint(ParamArray pvArgs() As Variant) 'Print arguments unconditionnally in console 'Arguments are separated by a TAB (simulated by spaces) 'Some pvArgs might be missing: a TAB is still generated Dim vVarTypes() As Variant, i As Integer Const cstTab = 5 On Local Error Goto Exit_Sub ' Never interrupt processing Utils._SetCalledSub("DebugPrint") vVarTypes = Utils._AddNumeric(Array(vbEmpty, vbNull, vbDate, vbString, vbBoolean, vbObject, vbVariant)) If UBound(pvArgs) >= 0 Then For i = 0 To UBound(pvArgs) ' If IsError(pvArgs(i)) Then ' IsError gives "Object variable not set" in LO 4,0 ?!? ' pvArgs(i) = "[ERROR]" ' Else If Not Utils._CheckArgument(pvArgs(i), i + 1, vVarTypes(), , False) Then pvArgs(i) = "[TYPE?]" ' End If Next i End If Dim sOutput As String, sArg As String sOutput = "" For i = 0 To UBound(pvArgs) sArg = Utils._CStr(pvArgs(i)) ' Add argument to output If i = 0 Then sOutput = sArg Else sOutput = sOutput & Space(cstTab - (Len(sOutput) Mod cstTab)) & sArg End If Next i TraceLog(TRACEANY, sOutput, False) Exit_Sub: Utils._ResetCalledSub("DebugPrint") Exit Sub End Sub ' DebugPrint V0.9.5