Exemplo n.º 1
0
        private void deviceClose()
        {
            if (hnd != null)
            {
                //останов сбора данных
                if (threadRunning)
                {
                    reqStop = true;

                    /* ожидаем завершения потока. Так как
                     * поток работает с GUI и планирует выполнение части
                     * функций в основном потоке, то мы не можем сдесь просто
                     * сделать Join, вызываем Application.DoEvents(), чтобы
                     * в нем обработать запланированные UpdateData()/finishThread() */
                    while (threadRunning)
                    {
                        Application.DoEvents();
                    }
                }

                // закрытие связи с модулем
                hnd.Close();
                // память освободится диспетчером мусора, т.к. нет больше ссылок
                hnd = null;
            }
        }
Exemplo n.º 2
0
 public void Dispose()
 {
     if (hnd == null)
     {
         return;
     }
     hnd.Close();
     // память освободится диспетчером мусора, т.к. нет больше ссылок
     hnd = null;
 }
Exemplo n.º 3
0
 private void deviceClose()
 {
     if (hnd != null)
     {
         // закрытие связи с модулем
         hnd.Close();
         // память освободится диспетчером мусора, т.к. нет больше ссылок
         hnd = null;
     }
 }