62
62
{ TODO -oMMM : implement Attribute descriptor and subclassing stuff }
63
63
64
64
{ $IFNDEF FPC}
65
- { $IFNDEF DELPHI2010_OR_HIGHER }
66
- Error! Delphi 2010 or higher is required!
65
+ { $IFNDEF DELPHIXE2_OR_HIGHER }
66
+ Error! Delphi XE2 or higher is required!
67
67
{ $ENDIF}
68
68
{ $ENDIF}
69
69
@@ -116,7 +116,7 @@ TPythonVersionProp = record
116
116
end ;
117
117
const
118
118
{ $IFDEF MSWINDOWS}
119
- PYTHON_KNOWN_VERSIONS: array [1 ..8 ] of TPythonVersionProp =
119
+ PYTHON_KNOWN_VERSIONS: array [1 ..9 ] of TPythonVersionProp =
120
120
(
121
121
(DllName: ' python33.dll' ; RegVersion: ' 3.3' ; APIVersion: 1013 ),
122
122
(DllName: ' python34.dll' ; RegVersion: ' 3.4' ; APIVersion: 1013 ),
@@ -125,11 +125,12 @@ TPythonVersionProp = record
125
125
(DllName: ' python37.dll' ; RegVersion: ' 3.7' ; APIVersion: 1013 ),
126
126
(DllName: ' python38.dll' ; RegVersion: ' 3.8' ; APIVersion: 1013 ),
127
127
(DllName: ' python39.dll' ; RegVersion: ' 3.9' ; APIVersion: 1013 ),
128
- (DllName: ' python310.dll' ; RegVersion: ' 3.10' ; APIVersion: 1013 )
128
+ (DllName: ' python310.dll' ; RegVersion: ' 3.10' ; APIVersion: 1013 ),
129
+ (DllName: ' python311.dll' ; RegVersion: ' 3.11' ; APIVersion: 1013 )
129
130
);
130
131
{ $ENDIF}
131
132
{ $IFDEF _so_files}
132
- PYTHON_KNOWN_VERSIONS: array [1 ..8 ] of TPythonVersionProp =
133
+ PYTHON_KNOWN_VERSIONS: array [1 ..9 ] of TPythonVersionProp =
133
134
(
134
135
(DllName: ' libpython3.3m.so' ; RegVersion: ' 3.3' ; APIVersion: 1013 ),
135
136
(DllName: ' libpython3.4m.so' ; RegVersion: ' 3.4' ; APIVersion: 1013 ),
@@ -138,11 +139,12 @@ TPythonVersionProp = record
138
139
(DllName: ' libpython3.7m.so' ; RegVersion: ' 3.7' ; APIVersion: 1013 ),
139
140
(DllName: ' libpython3.8.so' ; RegVersion: ' 3.8' ; APIVersion: 1013 ),
140
141
(DllName: ' libpython3.9.so' ; RegVersion: ' 3.9' ; APIVersion: 1013 ),
141
- (DllName: ' libpython3.10.so' ; RegVersion: ' 3.10' ; APIVersion: 1013 )
142
+ (DllName: ' libpython3.10.so' ; RegVersion: ' 3.10' ; APIVersion: 1013 ),
143
+ (DllName: ' libpython3.11.so' ; RegVersion: ' 3.11' ; APIVersion: 1013 )
142
144
);
143
145
{ $ENDIF}
144
146
{ $IFDEF DARWIN}
145
- PYTHON_KNOWN_VERSIONS: array [1 ..8 ] of TPythonVersionProp =
147
+ PYTHON_KNOWN_VERSIONS: array [1 ..9 ] of TPythonVersionProp =
146
148
(
147
149
(DllName: ' libpython3.3.dylib' ; RegVersion: ' 3.3' ; APIVersion: 1013 ),
148
150
(DllName: ' libpython3.4.dylib' ; RegVersion: ' 3.4' ; APIVersion: 1013 ),
@@ -151,15 +153,17 @@ TPythonVersionProp = record
151
153
(DllName: ' libpython3.7.dylib' ; RegVersion: ' 3.7' ; APIVersion: 1013 ),
152
154
(DllName: ' libpython3.8.dylib' ; RegVersion: ' 3.8' ; APIVersion: 1013 ),
153
155
(DllName: ' libpython3.9.dylib' ; RegVersion: ' 3.9' ; APIVersion: 1013 ),
154
- (DllName: ' libpython3.10.dylib' ; RegVersion: ' 3.10' ; APIVersion: 1013 )
156
+ (DllName: ' libpython3.10.dylib' ; RegVersion: ' 3.10' ; APIVersion: 1013 ),
157
+ (DllName: ' libpython3.11.dylib' ; RegVersion: ' 3.11' ; APIVersion: 1013 )
155
158
);
156
159
{ $ENDIF}
157
160
{ $IFDEF ANDROID}
158
- PYTHON_KNOWN_VERSIONS: array [6 ..8 ] of TPythonVersionProp =
161
+ PYTHON_KNOWN_VERSIONS: array [6 ..9 ] of TPythonVersionProp =
159
162
(
160
163
(DllName: ' libpython3.8.so' ; RegVersion: ' 3.8' ; APIVersion: 1013 ),
161
164
(DllName: ' libpython3.9.so' ; RegVersion: ' 3.9' ; APIVersion: 1013 ),
162
- (DllName: ' libpython3.10.so' ; RegVersion: ' 3.10' ; APIVersion: 1013 )
165
+ (DllName: ' libpython3.10.so' ; RegVersion: ' 3.10' ; APIVersion: 1013 ),
166
+ (DllName: ' libpython3.11.so' ; RegVersion: ' 3.11' ; APIVersion: 1013 )
163
167
);
164
168
{ $ENDIF}
165
169
@@ -1537,7 +1541,7 @@ TPythonInterface=class(TDynamicDll)
1537
1541
PyObject_Call:function (ob, args, kw:PPyObject):PPyObject; cdecl;
1538
1542
PyObject_GenericGetAttr:function (obj, name : PPyObject) : PPyObject; cdecl;
1539
1543
PyObject_GenericSetAttr:function (obj, name , value : PPyObject) : Integer; cdecl;
1540
- PyObject_GC_Malloc :function (size:NativeUInt):PPyObject; cdecl;
1544
+ PyObject_Malloc :function (size:NativeUInt):PPyObject; cdecl;
1541
1545
PyObject_GC_New:function (t:PPyTypeObject):PPyObject; cdecl;
1542
1546
PyObject_GC_NewVar:function (t:PPyTypeObject; size:NativeInt):PPyObject; cdecl;
1543
1547
PyObject_GC_Resize:function (t:PPyObject; newsize:NativeInt):PPyObject; cdecl;
@@ -2786,7 +2790,11 @@ implementation
2786
2790
{ $ENDIF}
2787
2791
{ $IFDEF MSWINDOWS}
2788
2792
Registry,
2793
+ { $IFDEF FPC}
2794
+ JwaPsApi,
2795
+ { $ELSE}
2789
2796
PsAPI,
2797
+ { $ENDIF}
2790
2798
{ $ENDIF}
2791
2799
Math;
2792
2800
@@ -3723,7 +3731,7 @@ procedure TPythonInterface.MapDll;
3723
3731
PyObject_Call := Import (' PyObject_Call' );
3724
3732
PyObject_GenericGetAttr := Import (' PyObject_GenericGetAttr' );
3725
3733
PyObject_GenericSetAttr := Import (' PyObject_GenericSetAttr' );
3726
- PyObject_GC_Malloc := Import (' _PyObject_GC_Malloc ' );
3734
+ PyObject_Malloc := Import (' PyObject_Malloc ' );
3727
3735
PyObject_GC_New := Import (' _PyObject_GC_New' );
3728
3736
PyObject_GC_NewVar := Import (' _PyObject_GC_NewVar' );
3729
3737
PyObject_GC_Resize := Import (' _PyObject_GC_Resize' );
0 commit comments