@@ -1451,7 +1451,6 @@ TPythonInterface=class(TDynamicDll)
14511451 PyObject_NewVar:function (t:PPyTypeObject; size:NativeInt):PPyObject; cdecl;
14521452 PyObject_Free:procedure (ob:PPyObject); cdecl;
14531453 PyObject_GetIter: function (obj: PPyObject) : PPyObject; cdecl;
1454- PyIter_Check: function ( obj : PPyObject ) : Boolean;
14551454 PyIter_Next: function (obj: PPyObject) : PPyObject; cdecl;
14561455 PyObject_IsInstance:function (inst, cls:PPyObject):integer; cdecl;
14571456 PyObject_IsSubclass:function (derived, cls:PPyObject):integer; cdecl;
@@ -1596,6 +1595,7 @@ TPythonInterface=class(TDynamicDll)
15961595 function PyModule_CheckExact ( obj : PPyObject ) : Boolean;
15971596 function PySlice_Check ( obj : PPyObject ) : Boolean;
15981597 function PyFunction_Check ( obj : PPyObject ) : Boolean;
1598+ function PyIter_Check ( obj : PPyObject ) : Boolean;
15991599 function PyUnicode_Check ( obj : PPyObject ) : Boolean;
16001600 function PyUnicode_CheckExact ( obj : PPyObject ) : Boolean;
16011601 function PyType_IS_GC (t : PPyTypeObject ) : Boolean;
@@ -3370,7 +3370,6 @@ procedure TPythonInterface.MapDll;
33703370 PyObject_NewVar :=Import (' _PyObject_NewVar' );
33713371 PyObject_Free :=Import (' PyObject_Free' );
33723372 PyObject_GetIter :=Import (' PyObject_GetIter' );
3373- PyIter_Check :=Import (' PyIter_Check' );
33743373 PyIter_Next :=Import (' PyIter_Next' );
33753374 PyObject_IsInstance :=Import (' PyObject_IsInstance' );
33763375 PyObject_IsSubclass :=Import (' PyObject_IsSubclass' );
@@ -3620,6 +3619,11 @@ function TPythonInterface.PyFunction_Check( obj : PPyObject ) : Boolean;
36203619 (obj^.ob_type = PPyTypeObject(PyFunction_Type)));
36213620end ;
36223621
3622+ function TPythonInterface.PyIter_Check (obj: PPyObject): Boolean;
3623+ begin
3624+ Result := Assigned(obj) and Assigned(obj^.ob_type^.tp_iternext);
3625+ end ;
3626+
36233627function TPythonInterface.PyUnicode_Check ( obj : PPyObject ) : Boolean;
36243628begin
36253629 Result := PyObject_TypeCheck(obj, PyUnicode_Type);
0 commit comments