Skip to content

Commit b920fbd

Browse files
committed
Python 3.11 compatibility
Fixed error in previous commit.
1 parent f91c37c commit b920fbd

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

Source/PythonEngine.pas

+14-10
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ TPythonVersionProp = record
116116
end;
117117
const
118118
{$IFDEF MSWINDOWS}
119-
PYTHON_KNOWN_VERSIONS: array[1..8] of TPythonVersionProp =
119+
PYTHON_KNOWN_VERSIONS: array[1..9] of TPythonVersionProp =
120120
(
121121
(DllName: 'python33.dll'; RegVersion: '3.3'; APIVersion: 1013),
122122
(DllName: 'python34.dll'; RegVersion: '3.4'; APIVersion: 1013),
@@ -125,11 +125,12 @@ TPythonVersionProp = record
125125
(DllName: 'python37.dll'; RegVersion: '3.7'; APIVersion: 1013),
126126
(DllName: 'python38.dll'; RegVersion: '3.8'; APIVersion: 1013),
127127
(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)
129130
);
130131
{$ENDIF}
131132
{$IFDEF _so_files}
132-
PYTHON_KNOWN_VERSIONS: array[1..8] of TPythonVersionProp =
133+
PYTHON_KNOWN_VERSIONS: array[1..9] of TPythonVersionProp =
133134
(
134135
(DllName: 'libpython3.3m.so'; RegVersion: '3.3'; APIVersion: 1013),
135136
(DllName: 'libpython3.4m.so'; RegVersion: '3.4'; APIVersion: 1013),
@@ -138,11 +139,12 @@ TPythonVersionProp = record
138139
(DllName: 'libpython3.7m.so'; RegVersion: '3.7'; APIVersion: 1013),
139140
(DllName: 'libpython3.8.so'; RegVersion: '3.8'; APIVersion: 1013),
140141
(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)
142144
);
143145
{$ENDIF}
144146
{$IFDEF DARWIN}
145-
PYTHON_KNOWN_VERSIONS: array[1..8] of TPythonVersionProp =
147+
PYTHON_KNOWN_VERSIONS: array[1..9] of TPythonVersionProp =
146148
(
147149
(DllName: 'libpython3.3.dylib'; RegVersion: '3.3'; APIVersion: 1013),
148150
(DllName: 'libpython3.4.dylib'; RegVersion: '3.4'; APIVersion: 1013),
@@ -151,15 +153,17 @@ TPythonVersionProp = record
151153
(DllName: 'libpython3.7.dylib'; RegVersion: '3.7'; APIVersion: 1013),
152154
(DllName: 'libpython3.8.dylib'; RegVersion: '3.8'; APIVersion: 1013),
153155
(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)
155158
);
156159
{$ENDIF}
157160
{$IFDEF ANDROID}
158-
PYTHON_KNOWN_VERSIONS: array[6..8] of TPythonVersionProp =
161+
PYTHON_KNOWN_VERSIONS: array[6..9] of TPythonVersionProp =
159162
(
160163
(DllName: 'libpython3.8.so'; RegVersion: '3.8'; APIVersion: 1013),
161164
(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)
163167
);
164168
{$ENDIF}
165169

@@ -1537,7 +1541,7 @@ TPythonInterface=class(TDynamicDll)
15371541
PyObject_Call:function (ob, args, kw:PPyObject):PPyObject; cdecl;
15381542
PyObject_GenericGetAttr:function (obj, name : PPyObject) : PPyObject; cdecl;
15391543
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;
15411545
PyObject_GC_New:function (t:PPyTypeObject):PPyObject; cdecl;
15421546
PyObject_GC_NewVar:function (t:PPyTypeObject; size:NativeInt):PPyObject; cdecl;
15431547
PyObject_GC_Resize:function (t:PPyObject; newsize:NativeInt):PPyObject; cdecl;
@@ -3723,7 +3727,7 @@ procedure TPythonInterface.MapDll;
37233727
PyObject_Call := Import('PyObject_Call');
37243728
PyObject_GenericGetAttr := Import('PyObject_GenericGetAttr');
37253729
PyObject_GenericSetAttr := Import('PyObject_GenericSetAttr');
3726-
PyObject_GC_Malloc := Import('_PyObject_GC_Malloc');
3730+
PyObject_Malloc := Import('PyObject_Malloc');
37273731
PyObject_GC_New := Import('_PyObject_GC_New');
37283732
PyObject_GC_NewVar := Import('_PyObject_GC_NewVar');
37293733
PyObject_GC_Resize := Import('_PyObject_GC_Resize');

Source/WrapDelphiClasses.pas

+1-1
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ function TPyDelphiComponent.InternalReadComponent(const AResFile: string;
897897

898898
procedure ReadRootComponent(const AStream: TStream);
899899
var
900-
Reader: TPyReader;
900+
LReader: TPyReader;
901901
begin
902902
AStream.Position := 0;
903903
LReader := TPyReader.Create(Self, AStream, 4096);

0 commit comments

Comments
 (0)