public MainWindow() { InitializeComponent(); try { int version = KiwiCS.Version(); VersionInfo.Header = String.Format("Kiwi 버전 {0}.{1}.{2}", version / 100 % 10, version / 10 % 10, version % 10); instKiwi = new KiwiCS("model/", -1); } catch (Exception e) { MessageBox.Show(this, "Kiwi 형태소 분석기를 초기화하는 데 실패했습니다. 모델 파일이 없거나 인자가 잘못되었습니다. \n" + e.Message, "Kiwi 오류", MessageBoxButton.OK, MessageBoxImage.Error); Close(); } }
public MainWindow() { InitializeComponent(); Splash splashScreen = new Splash(); splashScreen.Show(); BackgroundWorker bw = new BackgroundWorker(); bw.DoWork += (s, args) => { int version = KiwiCS.Version(); Dispatcher.Invoke(DispatcherPriority.Normal, new Action(() => { VersionInfo.Header = String.Format("Kiwi 버전 {0}.{1}.{2}", version / 100 % 10, version / 10 % 10, version % 10); Title += " v" + String.Format("{0}.{1}.{2}", version / 100 % 10, version / 10 % 10, version % 10); })); instKiwi = new KiwiCS("model/", 0, 1); instKiwi.prepare(); }; bw.RunWorkerCompleted += (s, args) => { splashScreen.Close(); if (args.Error != null) { MessageBox.Show(this, "Kiwi 형태소 분석기를 초기화하는 데 실패했습니다. 모델 파일이 없거나 인자가 잘못되었습니다.\n오류 메세지: " + args.Error.Message, "Kiwi 오류", MessageBoxButton.OK, MessageBoxImage.Error); Close(); return; } Show(); }; bw.RunWorkerAsync(); App.monitor.TrackScreenView("Kiwi_MainWindow"); Hide(); }