예제 #1
0
파일: View.cs 프로젝트: rgiot/phactory
        private void RunProject()
        {
            if (!CheckBuildStatus())
            {
                return;
            }

            SetBuildStatus(BuildStatus.Neutral);

            PhactoryHost.Database.Resource resource = App.Controller.Entities.GetResource(App.Controller.Entities.StartupResourceId);

            if (resource == null)
            {
                this.ShowWarningMessage("Operation failed !", "You need to define a resource as startup item first.");
            }
            else
            {
                RunProjectWorker w = new RunProjectWorker(resource);
                Thread           t = new Thread(w.DoWork);
                t.Start();
                while (t.IsAlive)
                {
                    Application.DoEvents();
                }

                if (w.IsOK)
                {
                    SetBuildStatus(BuildStatus.Running);

                    App.Controller.Build.Run(resource);

                    SetBuildStatus(BuildStatus.Neutral);
                }
                else
                {
                    App.Controller.Log.Append("Compilation failed, skipping run..");

                    SetBuildStatus(BuildStatus.Failure);
                }
            }
        }
예제 #2
0
파일: View.cs 프로젝트: rgiot/phactory
        private void RunProject()
        {
            if (!CheckBuildStatus())
            {
                return;
            }

            SetBuildStatus(BuildStatus.Neutral);

            PhactoryHost.Database.Resource resource = App.Controller.Entities.GetResource(App.Controller.Entities.StartupResourceId);

            if (resource == null)
            {
                this.ShowWarningMessage("Operation failed !", "You need to define a resource as startup item first.");
            }
            else
            {
                RunProjectWorker w = new RunProjectWorker(resource);
                Thread t = new Thread(w.DoWork);
                t.Start();
                while (t.IsAlive)
                {
                    Application.DoEvents();
                }

                if (w.IsOK)
                {
                    SetBuildStatus(BuildStatus.Running);

                    App.Controller.Build.Run(resource);

                    SetBuildStatus(BuildStatus.Neutral);
                }
                else
                {
                    App.Controller.Log.Append("Compilation failed, skipping run..");

                    SetBuildStatus(BuildStatus.Failure);
                }
            }
        }