Skip to content

Commit bbbf0b0

Browse files
committed
Added PyString_AsStringAndSize/PyBytes_AsStringAndSize for Python 2/3
Updated/fixed demo 29.
1 parent 10b80ae commit bbbf0b0

File tree

8 files changed

+228
-326
lines changed

8 files changed

+228
-326
lines changed

PythonForDelphi/Components/Sources/Core/PythonEngine.pas

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1771,13 +1771,14 @@ TPythonInterface=class(TDynamicDll)
17711771
PyDict_GetItemString: function( dp: PPyObject; key: PAnsiChar): PPyObject; cdecl;
17721772
PyDict_SetItemString: function( dp: PPyObject; key: PAnsiChar; item: PPyObject):
17731773
Integer; cdecl;
1774-
PyDictProxy_New: function (obj : PPyObject) : PPyObject; cdecl;
1774+
PyDictProxy_New: function (obj : PPyObject) : PPyObject; cdecl;
17751775
PyModule_GetDict: function( module:PPyObject): PPyObject; cdecl;
17761776
PyObject_Str: function( v: PPyObject): PPyObject; cdecl;
17771777
PyRun_String: function( str: PAnsiChar; start: Integer; globals: PPyObject;
17781778
locals: PPyObject): PPyObject; cdecl;
17791779
PyRun_SimpleString: function( str: PAnsiChar): Integer; cdecl;
17801780
PyString_AsString: function( ob: PPyObject): PAnsiChar; cdecl;
1781+
PyString_AsStringAndSize: function( ob: PPyObject; var buffer: PAnsiChar; var size: NativeInt): integer; cdecl;
17811782
PySys_SetArgv: procedure( argc: Integer; argv: PPAnsiChar); cdecl;
17821783
PySys_SetArgv3000: procedure( argc: Integer; argv: PPWideChar); cdecl;
17831784

@@ -3836,10 +3837,13 @@ procedure TPythonInterface.MapDll;
38363837
PyRun_String := Import('PyRun_String');
38373838
PyRun_SimpleString := Import('PyRun_SimpleString');
38383839
PyDict_GetItemString := Import('PyDict_GetItemString');
3839-
if not IsPython3000 then
3840-
PyString_AsString := Import('PyString_AsString')
3841-
else
3840+
if not IsPython3000 then begin
3841+
PyString_AsString := Import('PyString_AsString');
3842+
PyString_AsStringAndSize := Import('PyString_AsStringAndSize')
3843+
end else begin
38423844
PyString_AsString := Import('PyBytes_AsString');
3845+
PyString_AsStringAndSize := Import('PyBytes_AsStringAndSize');
3846+
end;
38433847
if not IsPython3000 then
38443848
DLL_PyString_FromString := Import('PyString_FromString');
38453849
if not IsPython3000 then

PythonForDelphi/Demos/Demo29/Project1.dof

Lines changed: 0 additions & 148 deletions
This file was deleted.

PythonForDelphi/Demos/Demo29/Project1.dpr

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
// JCL_DEBUG_EXPERT_GENERATEJDBG OFF
2-
// JCL_DEBUG_EXPERT_INSERTJDBG OFF
3-
// JCL_DEBUG_EXPERT_DELETEMAPFILE OFF
41
program Project1;
52

63
uses

0 commit comments

Comments
 (0)