Exemplo n.º 1
0
        static void licenceChecker_EvtLicenseCheckStatus(LicenseChecker.LicenseChecker checker, bool isValid)
        {
            try
            {
                if (formServer.InvokeRequired)
                {
                    formServer.Invoke(new DelegateUI(licenceChecker_EvtLicenseCheckStatus), checker, isValid);
                    return;
                }
            }
            catch (Exception)
            {
            }

            //bool internalInvalid = (DateTime.Today.CompareTo(expire) > 0);
            //if (internalInvalid)
            //{
            //    Application.Exit();
            //    return;
            //}

            if (!isValid)
            {
                if (formLicense.Visible)
                {
                    return;
                }

                if (formLicense.ShowDialog(formServer) == DialogResult.OK)
                {
                    Application.Exit();
                }
            }
            else if (formLicense.Visible)
            {
                formLicense.Close();
            }
        }
Exemplo n.º 2
0
        static void Main()
        {
            if (mutex.WaitOne(TimeSpan.Zero, true) == false)
            {
                MessageBox.Show("Only one instance of Vistrol application allowed.");
                return;
            }

            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            formLicense = new FormLicense();

            LicenseChecker.LicenseChecker licenceChecker = null;
            DriveInfo[] allDrives = DriveInfo.GetDrives();
            foreach (DriveInfo drive in allDrives)
            {
                string filePath = drive.RootDirectory + LicenseChecker.LicenseChecker.LICENSE_FILE_NAME;
                if (Utils.Files.IsFileExists(filePath))
                {
                    licenceChecker = new LicenseChecker.LicenseChecker(filePath);
                    licenceChecker.EvtLicenseCheckStatus += licenceChecker_EvtLicenseCheckStatus;
                    break;
                }
            }

            if (licenceChecker == null)
            {
                MessageBox.Show("No license found. Please plug in dongle and retry.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);

                return;
            }

            // initialize database
            ConnectionManager connMgr = new ConnectionManager();

            formServer = new FormServer(connMgr);

            wcfCallback = new WcfCallbackHandler(connMgr, formServer);
            Server.ServerDbHelper.GetInstance().Initialize(wcfCallback);

            RGBERROR error   = 0;
            IntPtr   hRGBDLL = IntPtr.Zero;

            try
            {
                error = RGB.Load(out hRGBDLL);
                if (error == RGBERROR.NO_ERROR)
                {
                    ServerVisionHelper.getInstance().InitializeVisionDB();
                }
            }
            catch (Exception)
            {
            }

            licenceChecker.StartCheck();
            Application.Run(formServer);

            // clean up
            if (hRGBDLL != IntPtr.Zero)
            {
                RGB.Free(hRGBDLL);
            }

            licenceChecker.StopCheck();
        }