diff options
Diffstat (limited to 'wizards/source/access2base/Python.xba')
-rw-r--r-- | wizards/source/access2base/Python.xba | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/wizards/source/access2base/Python.xba b/wizards/source/access2base/Python.xba index 45144ec7c8d3..0ef8a7e96fbc 100644 --- a/wizards/source/access2base/Python.xba +++ b/wizards/source/access2base/Python.xba @@ -88,7 +88,7 @@ Public Function PythonWrapper(ByVal pvCallType As Variant _ ' [0] => 0 = scalar or array returned by the method ' => 1 = basic object returned by the method ' => 2 = a null value -' [1] => the object reference or the returned value or Null +' [1] => the object reference or the returned value (complemented with arguments passed by reference, if any) or Null ' [2] => the object type or Null ' [3] => the object name, if any ' or, when pvCallType == vbUNO, as the UNO object returned by the property @@ -222,6 +222,10 @@ Const vbGet = 2, vbLet = 4, vbMethod = 1, vbSet = 8, vbUNO = 16 If vObject._Type = "COLLECTION" And vObject._CollType = COLLTABLEDEFS Then vArgs = Array(_A2B_.PythonCache(vArgs(0))) Case "Close" sSCript = "mClose" + Case "Find" + For i = 0 To UBound(vArgs) + If IsNull(vArgs(i)) Then vArgs(i) = Empty + Next i Case "Type" sScript = "pType" Case Else @@ -294,9 +298,15 @@ Const vbGet = 2, vbLet = 4, vbMethod = 1, vbSet = 8, vbUNO = 16 Case "Close", "Dispose", "Terminate" Set _A2B_.PythonCache(pvObject) = Nothing Case "Move", "MoveFirst", "MoveLast", "MoveNext", "MovePrevious" ' Pass the new BOF, EOF values (binary format) - If vObject._Type = "RECORDSET" Then - vReturn = (Iif(vObject.BOF, 1, 0) * 2 + Iif(vObject.EOF, 1, 0)) * Iif(vReturn, 1, -1) - End If + If vObject._Type = "RECORDSET" Then + vReturn = (Iif(vObject.BOF, 1, 0) * 2 + Iif(vObject.EOF, 1, 0)) * Iif(vReturn, 1, -1) + End If + Case "Find" ' Store in array the arguments passed by reference + If vObject._Type = "MODULE" And vReturn = True Then + vReturn = Array(vReturn, vArgs(1), vArgs(2), vArgs(3), vArgs(4)) + End If + Case "ProcOfLine" ' Store in array the arguments passed by reference + vReturn = Array(vReturn, vArgs(1)) Case Else End Select End Select |