@@ -1472,7 +1472,6 @@ TPythonInterface=class(TDynamicDll)
1472
1472
PyObject_NewVar:function (t:PPyTypeObject; size:NativeInt):PPyObject; cdecl;
1473
1473
PyObject_Free:procedure (ob:PPyObject); cdecl;
1474
1474
PyObject_GetIter: function (obj: PPyObject) : PPyObject; cdecl;
1475
- // PyIter_Check: function ( obj : PPyObject ) : Boolean;
1476
1475
PyIter_Next: function (obj: PPyObject) : PPyObject; cdecl;
1477
1476
PyObject_IsInstance:function (inst, cls:PPyObject):integer; cdecl;
1478
1477
PyObject_IsSubclass:function (derived, cls:PPyObject):integer; cdecl;
@@ -1618,6 +1617,7 @@ TPythonInterface=class(TDynamicDll)
1618
1617
function PyModule_CheckExact ( obj : PPyObject ) : Boolean;
1619
1618
function PySlice_Check ( obj : PPyObject ) : Boolean;
1620
1619
function PyFunction_Check ( obj : PPyObject ) : Boolean;
1620
+ function PyIter_Check ( obj : PPyObject ) : Boolean;
1621
1621
function PyUnicode_Check ( obj : PPyObject ) : Boolean;
1622
1622
function PyUnicode_CheckExact ( obj : PPyObject ) : Boolean;
1623
1623
function PyType_IS_GC (t : PPyTypeObject ) : Boolean;
@@ -3662,6 +3662,11 @@ function TPythonInterface.PyFunction_Check( obj : PPyObject ) : Boolean;
3662
3662
(obj^.ob_type = PPyTypeObject(PyFunction_Type)));
3663
3663
end ;
3664
3664
3665
+ function TPythonInterface.PyIter_Check (obj: PPyObject): Boolean;
3666
+ begin
3667
+ Result := Assigned(obj) and Assigned(obj^.ob_type^.tp_iternext);
3668
+ end ;
3669
+
3665
3670
function TPythonInterface.PyUnicode_Check ( obj : PPyObject ) : Boolean;
3666
3671
begin
3667
3672
Result := PyObject_TypeCheck(obj, PyUnicode_Type);
0 commit comments