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); } } }