Jump to content

pyscripter

Members
  • Content Count

    1050
  • Joined

  • Last visited

  • Days Won

    70

Everything posted by pyscripter

  1. For answers see: python4delphi/Tutorials/Webinar II at master · pyscripter/python4delphi (github.com) python4delphi/Tutorials/Webinar II/VarPythDemo at master · pyscripter/python4delphi (github.com)
  2. Your code leads to memory corruption. PyArg_ParseTuple(args,"y*",&data); will copy the Py_Buffer structure to the address of data overwriting whatever was after that. If you wait for a few days, I will add the Py_Buffer stuff to P4D and provide an example of getting raw access to nympy.ndarray data. Looking forward to receiving C++ Builder installation instructions!
  3. @dnbif72By the way, since I am not using C++ Builder, I am looking for someone to provide detailed instructions for installing P4D in C++ Builder. The instructions provide David Intersimone are outdated. See for example: No Python_D.dproj project file inside python4delphi-master\Packages\Delphi\Delphi 10.4+. · Issue #416 · pyscripter/python4delphi (github.com) Could you please help?
  4. What do you expect to be passed to data? Please see the docs: Parsing arguments and building values — Python 3.12.0 documentation "y*" is one of the most esoteric formats. This is the correct way of using it by Victor Stinner one of the python gurus (from this web page). static PyObject * getargs_y_star(PyObject *self, PyObject *args) { Py_buffer buffer; PyObject *bytes; if (!PyArg_ParseTuple(args, "y*", &buffer)) return NULL; bytes = PyBytes_FromStringAndSize(buffer.buf, buffer.len); PyBuffer_Release(&buffer); return bytes; } Note that the Py_buffer structure and related functions are not yet defined in P4D, so you will have to get it from the python headers.
  5. pyscripter

    RunntimeError in simple demo

    Did you install the master branch from pyscripter/python4delphi: Free components that wrap up Python into Delphi and Lazarus (FPC) (github.com)? Here Demo01 and other demos run fine.
  6. You may want to give pyscripter/Ssh-Pascal: Delphi ssh library wrapping libssh2 (github.com) a try. It is a wrapper around libssh2, includes scp, sftp, ssh support. Very fast.
  7. pyscripter

    How do I execute code after FormShow ?

    Use TThread.ForceQueue from inside the OnShow handler. TThread.ForceQueue accepts an optional delay.
  8. As per title. For instance: A) Second method hides the first ClassA = class procedure Test(I: Integer); end; ClassB = class(classA) procedure Test(S: string); end; B) Second method overloads the first ClassA = class procedure Test(I: Integer); overload; end; ClassB = class(classA) procedure Test(S: string); overload; end; How can you tell the difference with Rtti. GetMethods would show both methods in a similar way.
  9. TTest = class A: string; class var B: string; end; Is it possible to tell that B is a class field using Rtti? Ditto for properties. And if you get a chance have a look at my other Rtti question.
  10. Never mind. I forgot the answer to an older question. No rtti is generated for class fields and properties, which is a shame. It does for class methods though.
  11. But so do overwritten methods, virtual methods etc.
  12. pyscripter

    Possible memory leak

    This was a python reference counting issue. Fixed in version control. Please try the latest version and confirm the issue is solved.
  13. pyscripter

    Can not install P4D package

    Are you following the instructions at Installation · pyscripter/python4delphi Wiki (github.com)? Specifically, did you build all packages before installing them?
  14. pyscripter

    Possible memory leak

    Clear the output?
  15. This project deserves some attention (greenlets-coroutines, generators, channels and more). It is based on fibers.
  16. pyscripter

    Unable to run 2 TPythonEngine per VCL application

    You cannot load multiple versions of any dll simultaneously in a single process. If you study Demo 33, you will see that this is not necessarily the case.
  17. pyscripter

    Unable to run 2 TPythonEngine per VCL application

    Why do you conclude that? If you want to run python code in threads, please study Demo 33 and search for related content in this forum (there is lots). Also google for "Global Interpreter Lock".
  18. pyscripter

    Html Help: Ctrl+F not working

    In my Delphi apps, I use the dated CHM Html Help format to provide user help. When help is invoked from the Delphi app using the Application help commands, Ctrl+F to search within a help page does not work. However, if open the same chm file outside the Delphi app, Ctrl+F works fine. Any clues as to what causes this issue? Note: The Delphi app is compiled with Alexandria (v11) and I am testing on Windows 11.
  19. Running python in threads is not straightforward. Have a look at TPythonThread, Demo 33, and search this forum for relevant discussions.
  20. Then try the following before loading the engine: - Create a TPythonInputOutput - Set the PythonEngine IO property to the TPythonInputOutput - Set the RedirectIO property to True.
  21. Looks like the python module is trying to write to the console. Do you use TPythonGUIInputOutput linked to the PythonEngine? If not try setting UseWindowsConsole to True.
  22. Did you mask exceptions (MaskFPUExceptions · pyscripter/python4delphi Wiki (github.com)? If yes, have you checked sys.version and sys.path to make sure they are the same as in stand alone python?
  23. pyscripter

    How to distribute a project

    You can either install python and PyPDF2 in the target machine or distribute an embedded version of Python with your app. If you follow the second route, have a look at Embarcadero/PythonEnviroments: Components to simplify the deployment for Python environments for Delphi applications using Python4Delphi. (github.com).
  24. Did you use the GetIt version? If not have you read Installation · pyscripter/python4delphi Wiki (github.com)?
  25. pyscripter

    Vcl issues

    I have recently submitted two Vcl related quality issue reports: https://quality.embarcadero.com/browse/RSP-41987 https://quality.embarcadero.com/browse/RSP-41988 The first one relates to a change in TCustomForm.SetParent introduced in Delphi Alexandria. It broke docking behaviour, but there may be other applications affected. One way to work around it is to set the form AutoScroll property to True. Question: Are there any undesired consequences of doing this? The second report relates to the fact that TControlForm.ChangeScale is not used and there is no good available options to achieve what you do when you overwrite ChangeScale in custom controls. Question: Am I missing something? Is there a good way to execute some code whenever the form dpi is changed?
×