public CResultAErreur ExecuteAction(CActionFormulaire action) { using (C2iSponsor sponsor = new C2iSponsor()) { //sponsor.Label = "3 - Execute Action"; sponsor.Register(action.Process); CResultAErreur result = CResultAErreur.True; m_actionFormulaire = action; DialogResult dialogResult = DialogResult.Cancel; CTimosApp.Navigateur.Invoke((MethodInvoker) delegate { result = SafeExecuteAction(sponsor, ref result, ref dialogResult); }); return(result); } }
//---------------------------------------------------------------------------- public override CResultAErreur RunService(object parametre) { CResultAErreur result = CResultAErreur.True; CActionFormulaire action = parametre as CActionFormulaire; if (action == null) { result.EmpileErreur(I.T("Incompatible parameter type|30254")); return(result); } using (C2iSponsor sponsor = new C2iSponsor()) { m_actionToExecute = action; sponsor.Register(m_actionToExecute); Thread th = new Thread(new ThreadStart(ShowFormulaire)); th.SetApartmentState(ApartmentState.STA); th.Start(); th.Join(); return(m_resultAction); } }