コード例 #1
0
 internal void Boot()
 {
     inceptionThread = new Thread(new ThreadStart(this.PrivateBoot));
     inceptionThread.SetApartmentState(ApartmentState.STA);
     I18NService.ConfigureThreadI18n(inceptionThread);
     inceptionThread.Start();
 }
コード例 #2
0
        public Boot(LicenseManager licenseValidation, AddinManager addinManager, AddinLoader addinLoader,
                    EventDispatcher dispatcher, FormEventHandler formEventHandler, I18NService i18nService)
        {
            this.licenseManager   = licenseValidation;
            this.addinManager     = addinManager;
            this.dispatcher       = dispatcher;
            this.formEventHandler = formEventHandler;
            this.addinLoader      = addinLoader;

            i18nService.ConfigureThreadI18n(System.Threading.Thread.CurrentThread);
        }
コード例 #3
0
        public MicroCore(DatabaseConfiguration dbConf, SAPbobsCOM.Company company, AssemblyManager assemblyLoader,
                         MicroCoreEventDispatcher dispatcher, MicroBoot microBoot, I18NService i18nService)
        {
            this.microBoot      = microBoot;
            this.company        = company;
            this.dbConf         = dbConf;
            this.assemblyLoader = assemblyLoader;
            this.dispatcher     = dispatcher;
            this.i18nService    = i18nService;

            i18nService.ConfigureThreadI18n(System.Threading.Thread.CurrentThread);
        }
コード例 #4
0
ファイル: MicroCore.cs プロジェクト: wgasparin/dover
        public MicroCore(DatabaseConfiguration dbConf, AssemblyManager assemblyLoader,
                         MicroCoreEventDispatcher dispatcher, MicroBoot microBoot, I18NService i18nService,
                         FileUpdate fileUpdate)
        {
            this.microBoot      = microBoot;
            this.dbConf         = dbConf;
            this.assemblyLoader = assemblyLoader;
            this.dispatcher     = dispatcher;
            this.i18nService    = i18nService;
            this.fileUpdate     = fileUpdate;

            i18nService.ConfigureThreadI18n(System.Threading.Thread.CurrentThread);
            microBoot.coreShutdownEvent = new ManualResetEvent(false);
        }
コード例 #5
0
        public void Intercept(IInvocation invocation)
        {
            if (!i18nThread)
            {
                i18nService.ConfigureThreadI18n(System.Threading.Thread.CurrentThread);
                i18nThread = true;
            }

            try
            {
                invocation.Proceed();
            }
            catch (Exception e)
            {
                try
                {
                    if (invocation.InvocationTarget is DoverFormBase)
                    {
                        IForm form = ((DoverFormBase)invocation.InvocationTarget).UIAPIRawForm;
                        if (form != null)
                        {
                            form.Freeze(false); // force unfreeze in case of error.
                        }
                    }
                }
                catch (Exception)
                {
                    // ignore error or addon will stop working.
                }

                Assembly addinAssembly = invocation.Method.DeclaringType.Assembly;
                Version  objVersion    = addinAssembly.GetName().Version;
                String   addInName     = addinAssembly.GetName().Name;
                String   addInVersion  = objVersion.Major.ToString() + "." + objVersion.Minor.ToString() + "." + objVersion.Build.ToString()
                                         + "." + objVersion.Revision;

                Logger.Error(String.Format(Messages.AddInError, addInName, addInVersion), e);
            }
        }