private void UserControl_Loaded(object sender, RoutedEventArgs e) { // texts if (_caption != null) { this.LabelCaption.Content = _caption; } // dialogue width if (_maxWidth.HasValue && _maxWidth.Value > 200) { OuterGrid.MaxWidth = _maxWidth.Value; } // start page if (_location != null) { TextBoxStartLocation.Text = _location; } if (_presets != null) { ComboBoxPresets.Items.Clear(); foreach (var pi in _presets) { ComboBoxPresets.Items.Add("" + pi?.Name); } } // focus this.TextBoxStartLocation.Focus(); this.TextBoxStartLocation.Select(0, 999); FocusManager.SetFocusedElement(this, this.TextBoxStartLocation); // timer var timer = new System.Windows.Threading.DispatcherTimer(); timer.Interval = new TimeSpan(0, 0, 0, 0, 100); timer.Start(); timer.Tick += (object sender2, EventArgs e2) => { var msg = _logger?.PopLastShortTermPrint(); while (msg != null) { Log.Singleton.Append(msg); this.LogMessage(msg); msg = _logger?.PopLastShortTermPrint(); } }; }
static void Main(string[] args) { // start Console.Error.WriteLine( "AAS OPC UA Server. (c) 2019 Michael Hoffmeister, Festo AG & Co. KG. See LICENSE.TXT."); // arguments var options = new AasOpcUaServer.AasxUaServerOptions(); options.ParseArgs(args); // load aasx if (options.AasxToLoad == null) { Console.Error.WriteLine("No .aasx-file to load given. Exiting!"); return; } Console.Error.WriteLine($"loading: {options.AasxToLoad} .."); var env = new AdminShellPackageEnv(options.AasxToLoad); // ReSharper disable HeuristicUnreachableCode // ReSharper disable once ConditionIsAlwaysTrueOrFalse if (env == null) { Console.Error.WriteLine($"Cannot open {options.AasxToLoad}. Aborting.."); } // configure UA here a little bit ApplicationInstance.MessageDlg = new ApplicationMessageDlg(); // logger var logger = new LogInstance(); // start Console.WriteLine("Starting server ..."); Console.WriteLine("Press 'x' to exit."); UaServerWrapper server = new UaServerWrapper(_autoAccept: true, _stopTimeout: 0, _aasxEnv: env, logger: logger, _serverOptions: options); server.Run(); // loop while (true) { StoredPrint sp; while ((sp = logger.PopLastShortTermPrint()) != null) { Console.WriteLine(sp.ToString()); } Thread.Sleep(10); if (Console.KeyAvailable) { var cki = Console.ReadKey(true); if (cki.Key == ConsoleKey.X) { Console.WriteLine("Stopping initiated ..."); break; } } } // stop server.Stop(); }