델파이 윈도우 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 버튼을 클릭하면, 아래 코드가 파이썬 스크립트를 실행합니다.

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

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

AI api C++ c++빌더 code database Delphi fmx IDE ideas interbase ios migration modernization news python RAD스튜디오 tips UI UIUX vcl 개발 개발사례 개발팁 교육 기술레터 기술백서 데이터 데이터베이스 델파이 마이그레이션 모바일 안드로이드 윈도우 윈도우10 인공지능 인터베이스 출시 코드 파이썬 파이어몽키 프로그래밍 프로젝트 현대화