На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Модераторы: RaD
  
    > Остановка скрипта Python , В мультитредов
      1. Имеется Win32 приложение EXE которое имеет основной поток GUI и дополнительный.

      2. Взаимодействие с питоном происходит через Python27.dll

      3. При запуске приложения в основном потоке делается:
      ExpandedWrap disabled
            Py_SetProgramName("11111");  /* optional but recommended */
            Py_Initialize();


      4. При разрушении приложения делается
      ExpandedWrap disabled
            Py_Finalize();


      5. В дополнительном потоке загружается скрипт и производится его выполнение(бесконечный цикл скрипта)
      ExpandedWrap disabled
        ThreadFunc
        {
        <<< Star WinAPI thread >>>
                ............
            PyObject* PyFileObject = PyFile_FromString("Mytest.py", "r");
            PyRun_SimpleFile(PyFile_AsFile(PyFileObject), "Mytest.py");
                ............
        <<< Exit WinAPI thread >>>
        }


      Mytest.py
      ExpandedWrap disabled
        import time, re, random
         
         
        print ('test script')
         
        while True :    
                i = 1
                while i < 80 :
                    i = i+1
                    for k  in range (0, 10) :    
                        idx = (i+k) % 10
                        if k < 3 :
                            print ('step 1')                    
                        else :
                            print ('step 2')                                            
                    time.sleep(5.0)




      Вопрос, как завершить выполнение Python скрипта чтобы PyRun_SimpleFile возвратила управление и был произведен выход из ThreadFunc ????
      0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
      0 пользователей:


      Рейтинг@Mail.ru
      [ Script execution time: 0,0496 ]   [ 16 queries used ]   [ Generated: 26.04.24, 02:34 GMT ]