델파이 윈도우 GUI 앱에서 파이썬 스레드, 윈도우 콘솔, 커맨드 라인 모두 통합하기

델파이에서 멀티스레딩 활용 방법은 잘 알고 계시죠. 그럼 스레드는 파이썬에서 하고, 스크립트 실행은 델파이 애플리케이션에서 실행하는 방법은요? 이 방법으로, 델파이 애플리케이션에서 기존의 멀티스레드나 새로운 파이썬 스크립트를 최대한으로 활용할 수 있습니다. 이번 기술자료에서는 Python4Delphi (P4D)의 샘플 앱을 사용해서 이 방법을 알아보려고 합니다. 잊지마세요! C++빌더에서도 Python4Delphi를 사용할 수 있답니다.

Python4Delphi의 Demo22 샘플 앱을 열어볼까요. 이 데모는 델파이 애플리케이션에서 파이썬 스크립트를 생성하는 방법을 보여줍니다. 스레드를 생성하고, 결과를 윈도우 콘솔에서 출력해 커맨드 라인에 인수를 전달하는 모든 과정을 확인할 수 있죠. 여기를 통해 깃허브에서 Demo22 소스를 다운로드 받을 수 있습니다.

필수 준비 사항: 최신 파이썬을 다운로드 받아 설치하세요. Python4Delphi를 여기 안내된 것과 같이 설치하세요. Python4Delphi 시작하기 영상을 통해 사용법을 확인하세요.

Python4Delphi Demo22 앱에서 사용된 컴포넌트:

  • TPythonEngine: 델파이에서 파이썬 타입 생성, 파이썬과의 통신 등 비교적 낮은 레벨의 루틴들을 모아 놓은 싱글톤 클래스(Singleton class) 입니다.

깃허브에서 다운로드 받은 Python4Delphi Demo22 샘플 프로젝트 압축을 풀면 Python4DelphiDemosDemo22.dproj를 확인할 수 있습니다. RAD스튜디오 최신 버전에서 이 프로젝트를 열고 실행해보세요.

구현:

  • PythonEngine1로 파이썬 또는 파이썬 API를 연결할 수 있습니다. 이 프로젝트는 TPythonEngine DllName 속성에서 볼 수 있는 Python3.9를 사용합니다.
  • 파이썬 스크립트 파일 threading_test.py 를 활용합니다. 다음의 모듈들이 사용되었습니다.
    • threading: 이 모듈은 하위 레벨 _thread 모듈 상단에 상위 레벨의 스레드 인터페이스를 구성합니다.
    • collections: 이 모듈은 파이썬에 내장되어 있는 컨테이터, dict, list, set, tuple에 대한 대안을 제공하는 특화된 컨테이너 데이터 타입들을 구현합니다. 이번 샘플에서는 deque를 사용합니다.
    • time: 이 모듈은 시간 관련 다양한 기능들을 제공합니다.
    • threading_test.py에는 ProducerThread, ConsumerThread, BoundedQueue 클래스가 포함되어 있습니다.
  • Memo1은 실행할 파이썬 스크립트를 확인하는데 사용합니다.
  • Execute 버튼을 클릭하면, 아래 코드가 파이썬 스크립트를 실행합니다.

아래 스크립트가 실행되면서 윈도우 콘솔이 열리고, 큐에 배치된 스레드가 생성된 뒤 이후 차례대로 실행됩니다.

더 많은 정보를 알고 싶다면?

12.0 13 13.0 13.1 AI C++ c++빌더 chatgpt DelphiCon ios rad서버 RAD스튜디오 UI UIUX UX vcl WebStencils 개발 개발사례 기술레터 기술백서 데브옵스 데이터 데이터베이스 델파이 리눅스 마이그레이션 맥 머신러닝 모바일 새버전 샘플 세미나 안드로이드 웹 윈도우 인공지능 인터베이스 출시 커뮤니티에디션 코드 클라우드 파이썬 파이어몽키 현대화