summaryrefslogtreecommitdiff
path: root/wizards/source/access2base/Python.xba
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/source/access2base/Python.xba')
-rw-r--r--wizards/source/access2base/Python.xba18
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