SlideShare a Scribd company logo
1 of 10
Download to read offline
1
Using Python4Delphi with C++Builder
●
David I (Embarcadero MVP)
●
Kiriakos Vlahos (aka PyScripter)
●
Jim McKeeth (Embarcadero)
●
David Millington (Embarcadero)
2
Agenda
●
Using C++Builder with Python
●
Delphi4Python Overview
●
Delphi4Python components
●
Preparing C++Builder and Python4Delphi
●
C++ Demos
●
Summary
●
Additional Resources
●
Q&A
3
Using C++Builder with Python
●
Natural to use C/C++ and Python
●
Lots of Python re-usable packages
●
C++ component architecture, GUI, language
●
Both are among the top used languages
●
Ways to use C++Builder and Python
– Use the Delphi4Python components
– Create Python C/C++ modules
– Boost Library for Python
4
Delphi4Python Overview
●
Access to the Python APIs
●
Bi-directional interaction with both languages
●
Access to Python objects
●
Wrap C++ objects for use from Python
●
Create Python extension modules
5
Delphi4Python components
●
PythonEngine: Load and Connect. Low-level API access.
●
PythonModule: Create C++ module to be used by Python
●
PythonType: Python class to be used by C++Builder
●
PythonInputOutput: send/receive to/from Python script
●
PythonGUIInputOutput: connect Python output to a TMemo
●
PyDelphiWrapper: classes/objects accessible from Python
●
unit VarPython: provides hi-level access to Python Objects
6
Preparing C++Builder and Python4Delphi
●
Install Python distro - python.org - Win32 and Win64
●
PIP install Python modules required by C++ projects
●
Clone/Download Delphi4Python GitHub repository
●
Set IDE Library and browse paths for Win32 and Win64
●
Build and Install the components for 10.4+ or 10.3-
– Set the Project | Options | Building | Delphi Compiler | Output - C++ |
C/C++ Output file Generation: Generate all C++Builder files (including
package libs)
– Use command line Delphi compilers or RAD Studio IDE to generate files
that C++Builder needs
7
C++ Demos
●
Demo01 (from the Delphi4Python distro)
– Execute Python scripts
– Display the results
●
Demo19 (from the Delphi4Python distro)
– Define a new Module
– Call C++ method from Python
8
Summary
●
C++Builder has multiple ways to
integrate with Python
●
Delphi4Python is the fastest/easiest
way to connect C++Builder with Python
●
Enjoy the benefits of leveraging the
active Python open-source community
9
Additional Resources
●
Delphi and Python webinar 1 & 2 replays
– https://blogs.embarcadero.com/webinar-replay-python-for-delphi-developers-part-1-introduction/
– https://blogs.embarcadero.com/combining-the-strengths-of-delphi-and-python/
●
Using Python4Delphi with C++Builder VCL applications
– https://davidiontools.com/2020/10/13/using-python4delphi-with-cbuilder-vcl-applications/
●
Delphi4Python GitHub
– https://github.com/pyscripter/python4delphi
●
Getting Started with Python4Delphi
– https://blogs.embarcadero.com/getting-started-wit-python4delphi/
●
Support on DelphiPraxis
– https://en.delphipraxis.net/forum/39-python4delphi/
●
Introductory tutorial by Dr K. R. Bond
– https://github.com/pyscripter/python4delphi/wiki/Files/Chapter80Tutorial.pdf
– https://github.com/pyscripter/python4delphi/wiki/Files/Chapter80Sample.pdf
●
Webinar Tutorials
– https://github.com/pyscripter/python4delphi/tree/master/Tutorials/Webinar%20I
– https://github.com/pyscripter/python4delphi/tree/master/Tutorials/Webinar%20II
10
Q&A
●
David I: david.intersimone@gmail.com
●
Kiriakos: pyscripter@gmail.com
●
Jim: jim.mckeeth@embarcadero.com
●
David M: david.millington@embarcadero.com

More Related Content

More from Embarcadero Technologies

RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationEmbarcadero Technologies
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbarcadero Technologies
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentEmbarcadero Technologies
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarEmbarcadero Technologies
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidEmbarcadero Technologies
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureEmbarcadero Technologies
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesEmbarcadero Technologies
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsEmbarcadero Technologies
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Embarcadero Technologies
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessEmbarcadero Technologies
 
What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016Embarcadero Technologies
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...Embarcadero Technologies
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixEmbarcadero Technologies
 
7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data ModelingEmbarcadero Technologies
 
The Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationThe Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationEmbarcadero Technologies
 
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...Embarcadero Technologies
 

More from Embarcadero Technologies (20)

RAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and InstrumentationRAD Industrial Automation, Labs, and Instrumentation
RAD Industrial Automation, Labs, and Instrumentation
 
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBaseEmbeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
Embeddable Databases for Mobile Apps: Stress-Free Solutions with InterBase
 
Rad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup DocumentRad Server Industry Template - Connected Nurses Station - Setup Document
Rad Server Industry Template - Connected Nurses Station - Setup Document
 
TMS Google Mapping Components
TMS Google Mapping ComponentsTMS Google Mapping Components
TMS Google Mapping Components
 
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinarMove Desktop Apps to the Cloud - RollApp & Embarcadero webinar
Move Desktop Apps to the Cloud - RollApp & Embarcadero webinar
 
Useful C++ Features You Should be Using
Useful C++ Features You Should be UsingUseful C++ Features You Should be Using
Useful C++ Features You Should be Using
 
Getting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and AndroidGetting Started Building Mobile Applications for iOS and Android
Getting Started Building Mobile Applications for iOS and Android
 
Embarcadero RAD server Launch Webinar
Embarcadero RAD server Launch WebinarEmbarcadero RAD server Launch Webinar
Embarcadero RAD server Launch Webinar
 
ER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data ArchitectureER/Studio 2016: Build a Business-Driven Data Architecture
ER/Studio 2016: Build a Business-Driven Data Architecture
 
The Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst PracticesThe Secrets of SQL Server: Database Worst Practices
The Secrets of SQL Server: Database Worst Practices
 
Driving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data AssetsDriving Business Value Through Agile Data Assets
Driving Business Value Through Agile Data Assets
 
Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016Troubleshooting Plan Changes with Query Store in SQL Server 2016
Troubleshooting Plan Changes with Query Store in SQL Server 2016
 
Great Scott! Dealing with New Datatypes
Great Scott! Dealing with New DatatypesGreat Scott! Dealing with New Datatypes
Great Scott! Dealing with New Datatypes
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for Success
 
What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016What's New in DBArtisan and Rapid SQL 2016
What's New in DBArtisan and Rapid SQL 2016
 
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...Is This Really a SAN Problem? Understanding the Performance of  Your IO Subsy...
Is This Really a SAN Problem? Understanding the Performance of Your IO Subsy...
 
RAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature MatrixRAD Studio, Delphi and C++Builder 10 Feature Matrix
RAD Studio, Delphi and C++Builder 10 Feature Matrix
 
7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling7 Dangerous Myths DBAs Believe about Data Modeling
7 Dangerous Myths DBAs Believe about Data Modeling
 
The Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: CollaborationThe Key to Big Data Modeling: Collaboration
The Key to Big Data Modeling: Collaboration
 
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
Understanding Hardware: The Right Fights for the DBA to Pick with the Server ...
 

Recently uploaded

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfkalichargn70th171
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 

Recently uploaded (20)

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdfExploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
Exploring Selenium_Appium Frameworks for Seamless Integration with HeadSpin.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 

Python for C++ Fevelopers with David I. & Kiriakos Vlahos - Webinar Slides

  • 1. 1 Using Python4Delphi with C++Builder ● David I (Embarcadero MVP) ● Kiriakos Vlahos (aka PyScripter) ● Jim McKeeth (Embarcadero) ● David Millington (Embarcadero)
  • 2. 2 Agenda ● Using C++Builder with Python ● Delphi4Python Overview ● Delphi4Python components ● Preparing C++Builder and Python4Delphi ● C++ Demos ● Summary ● Additional Resources ● Q&A
  • 3. 3 Using C++Builder with Python ● Natural to use C/C++ and Python ● Lots of Python re-usable packages ● C++ component architecture, GUI, language ● Both are among the top used languages ● Ways to use C++Builder and Python – Use the Delphi4Python components – Create Python C/C++ modules – Boost Library for Python
  • 4. 4 Delphi4Python Overview ● Access to the Python APIs ● Bi-directional interaction with both languages ● Access to Python objects ● Wrap C++ objects for use from Python ● Create Python extension modules
  • 5. 5 Delphi4Python components ● PythonEngine: Load and Connect. Low-level API access. ● PythonModule: Create C++ module to be used by Python ● PythonType: Python class to be used by C++Builder ● PythonInputOutput: send/receive to/from Python script ● PythonGUIInputOutput: connect Python output to a TMemo ● PyDelphiWrapper: classes/objects accessible from Python ● unit VarPython: provides hi-level access to Python Objects
  • 6. 6 Preparing C++Builder and Python4Delphi ● Install Python distro - python.org - Win32 and Win64 ● PIP install Python modules required by C++ projects ● Clone/Download Delphi4Python GitHub repository ● Set IDE Library and browse paths for Win32 and Win64 ● Build and Install the components for 10.4+ or 10.3- – Set the Project | Options | Building | Delphi Compiler | Output - C++ | C/C++ Output file Generation: Generate all C++Builder files (including package libs) – Use command line Delphi compilers or RAD Studio IDE to generate files that C++Builder needs
  • 7. 7 C++ Demos ● Demo01 (from the Delphi4Python distro) – Execute Python scripts – Display the results ● Demo19 (from the Delphi4Python distro) – Define a new Module – Call C++ method from Python
  • 8. 8 Summary ● C++Builder has multiple ways to integrate with Python ● Delphi4Python is the fastest/easiest way to connect C++Builder with Python ● Enjoy the benefits of leveraging the active Python open-source community
  • 9. 9 Additional Resources ● Delphi and Python webinar 1 & 2 replays – https://blogs.embarcadero.com/webinar-replay-python-for-delphi-developers-part-1-introduction/ – https://blogs.embarcadero.com/combining-the-strengths-of-delphi-and-python/ ● Using Python4Delphi with C++Builder VCL applications – https://davidiontools.com/2020/10/13/using-python4delphi-with-cbuilder-vcl-applications/ ● Delphi4Python GitHub – https://github.com/pyscripter/python4delphi ● Getting Started with Python4Delphi – https://blogs.embarcadero.com/getting-started-wit-python4delphi/ ● Support on DelphiPraxis – https://en.delphipraxis.net/forum/39-python4delphi/ ● Introductory tutorial by Dr K. R. Bond – https://github.com/pyscripter/python4delphi/wiki/Files/Chapter80Tutorial.pdf – https://github.com/pyscripter/python4delphi/wiki/Files/Chapter80Sample.pdf ● Webinar Tutorials – https://github.com/pyscripter/python4delphi/tree/master/Tutorials/Webinar%20I – https://github.com/pyscripter/python4delphi/tree/master/Tutorials/Webinar%20II
  • 10. 10 Q&A ● David I: david.intersimone@gmail.com ● Kiriakos: pyscripter@gmail.com ● Jim: jim.mckeeth@embarcadero.com ● David M: david.millington@embarcadero.com