private void StackOpen_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { var openDialog = new OpenFileDialog { Filter = "라이브러리 파일 (*.dll)|*.dll" }; if (openDialog.ShowDialog() == false || !File.Exists(openDialog.FileName)) { return; } try { GridLoading.Visibility = Visibility.Visible; Task.Run(() => { manager = new ExtensionManager(); extension = manager.LoadExtension(openDialog.FileName); if (extension.Commands.Count <= 0 && extension.Controls.Count <= 0) { MessageBox.Show("해당 파일에는 사용 가능한 블럭이 없습니다.\n올바른 확장 파일을 선택해주시기 바랍니다.", "오류", MessageBoxButton.OK, MessageBoxImage.Error); return; } extension.Path = openDialog.FileName; Dispatcher.Invoke(() => { StackOpen.Visibility = Visibility.Collapsed; StackResult.Visibility = Visibility.Visible; LabelResult.Content = $"본 모듈은 {extension.Commands.Count}개의 블럭과 {extension.Controls.Count}개의 컨트롤을 포함하고 있습니다."; GridLoading.Visibility = Visibility.Collapsed; }); compiler = new GCompiler(); compiler.LoadReference(openDialog.FileName); }); } catch (Exception ex) { MessageBox.Show("해당 파일은 불러올 수 없습니다.\n" + ex.Message, "오류", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void StackOpen_MouseLeftButtonUp(object sender, MouseButtonEventArgs e) { OpenFileDialog openDialog = new OpenFileDialog { Filter = "라이브러리 파일 (*.dll)|*.dll" }; if (openDialog.ShowDialog() == true) { if (File.Exists(openDialog.FileName)) { try { manager = new ExtensionManager(); extension = manager.LoadExtension(openDialog.FileName); if (extension.Commands.Count > 0 || extension.Controls.Count > 0) { extension.Path = openDialog.FileName; StackOpen.Visibility = Visibility.Collapsed; StackResult.Visibility = Visibility.Visible; LabelResult.Content = $"본 모듈은 {extension.Commands.Count}개의 블럭과 {extension.Controls.Count}개의 컨트롤을 포함하고 있습니다."; compiler = new GCompiler(); compiler.LoadReference(openDialog.FileName); } else { MessageBox.Show("해당 파일에는 사용 가능한 블럭이 없습니다.\n올바른 확장 파일을 선택해주시기 바랍니다.", "오류", MessageBoxButton.OK, MessageBoxImage.Error); } } catch (Exception ex) { MessageBox.Show("해당 파일은 불러올 수 없습니다.\n" + ex.Message, "오류", MessageBoxButton.OK, MessageBoxImage.Error); } } } }