Example #1
0
        public override void Initialize()
        {
            try { CloseAndFreeUpResources(); }
            catch { }
            try
            {
                DCUServer = new clsDCUserver();
                DCUServer.TaskError += new __clsDCUserver_TaskErrorEventHandler(DCUServer_TaskError);

                DCUServer.ShowWindow(1);
                //DCUServer.TaskMessage += new __clsDCUserver_TaskMessageEventHandler(DCUServer_TaskMessage);
                //DCUServer.TaskWarning += new __clsDCUserver_TaskWarningEventHandler(DCUServer_TaskWarning);
                //DCUServer.TaskEnd += new __clsDCUserver_TaskEndEventHandler(DCUServer_TaskEnd);
                int MStoHold = LoadUpSecondsWait*1000;
                Thread.Sleep(MStoHold);
                int i = 1;
                while (i < 15)
                {
                    DCUServer.ClearPort((short)i);
                    i++;
                }
                StatusOK = true;
            }
            catch
            {
                StatusOK=false;
                throw new InstrumentError("Could not initialize transfer station", false, this);
            }
        }
Example #2
0
 public override bool CloseAndFreeUpResources()
 {
     StatusOK = false;
     if (DCUServer != null)
     {
         try
         {
             int i = 1;
             while (i < 15)
             {
                 DCUServer.ClearPort((short)i);
                 i++;
             }
         }
         catch { }
         try
         {
             System.Runtime.InteropServices.Marshal.FinalReleaseComObject(DCUServer);
         }
         catch { }
         DCUServer = null;
     }
         //GC.Collect();
     //next part should always fail, process should be out by now, and thus not forceably killed
     string[] ToKill = { "Device Control Unit", "DCU" };
     foreach (string str in ToKill)
     {
         KillProcessAttempt(str);
     }
     return true;
 }