Mariusz Miziolek 1 Napisano 16 Września 2020 Udostępnij Napisano 16 Września 2020 w Sfera Nexo Aplikacja Wpf - brak bieżacej aplikacji Przy próbie utworzenia Uchwytu Sfery z wykorzystaniem UI, zgodnie z załączonym przykładem w dokumentacji SDK otrzymuję poniższy błąd: 'MPRO.exe' (CLR v4.0.30319: MPRO.exe): Loaded 'C:\GITHUB\M\MGT\bin\Debug\InsERT.Mox.Printing.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. Exception thrown: 'System.InvalidOperationException' in InsERT.Moria.Sfera.UI.Configuration.dll The thread 0x850 has exited with code 0 (0x0). The thread 0x9328 has exited with code 0 (0x0). The thread 0x95bc has exited with code 0 (0x0). The thread 0x95b0 has exited with code 0 (0x0). System.InvalidOperationException: Brak bieżącej aplikacji w InsERT.Moria.Sfera.UI.Configuration.SferaUIModule.ConfigureApplication(IInjectionContainer unityContainer, IUnityContainer unity, LaunchMessage message) w InsERT.Moria.Sfera.MenedzerPolaczen.LS8=(UnityAdapter container, IUnityContainer unity, LaunchMessage launchMessage, Boolean ui) w InsERT.Moria.Sfera.MenedzerPolaczen.Polacz(DanePolaczenia danePolaczenia, ProductId produkt, Nullable`1 dodatkowyProdukt1, Nullable`1 dodatkowyProdukt2, Nullable`1 dodatkowyProdukt3, Nullable`1 dodatkowyProdukt4, Nullable`1 dodatkowyProdukt5) w MGT.ViewModel.Helpers.Nexo.SferaLauncherNexo.UruchomSfere() w C:\GITHUB\M\MGT\ViewModel\Helpers\Nexo\SferaLauncherNexo.cs:wiersz 21 Exception thrown: 'System.InvalidOperationException' in MPRO.exe 'MPRO.exe' (CLR v4.0.30319: MPRO.exe): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Transactions.resources\v4.0_4.0.0.0_pl_b77a5c561934e089\System.Transactions.resources.dll'. Module was built without symbols. System.Transactions Critical: 0 : <TraceRecord xmlns="http://schemas.microsoft.com/2004/10/E2ETraceEvent/TraceRecord" Severity="Critical"><TraceIdentifier>http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled</TraceIdentifier><Description>Nieobsługiwany wyjątek</Description><AppDomain>MPRO.exe</AppDomain><Exception><ExceptionType>System.InvalidOperationException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</ExceptionType><Message>Brak bieżącej aplikacji</Message><StackTrace> w InsERT.Moria.Sfera.UI.Configuration.SferaUIModule.ConfigureApplication(IInjectionContainer unityContainer, IUnityContainer unity, LaunchMessage message) w InsERT.Moria.Sfera.MenedzerPolaczen.LS8=(UnityAdapter container, IUnityContainer unity, LaunchMessage launchMessage, Boolean ui) w InsERT.Moria.Sfera.MenedzerPolaczen.Polacz(DanePolaczenia danePolaczenia, ProductId produkt, Nullable`1 dodatkowyProdukt1, Nullable`1 dodatkowyProdukt2, Nullable`1 dodatkowyProdukt3, Nullable`1 dodatkowyProdukt4, Nullable`1 dodatkowyProdukt5) w MGT.ViewModel.Helpers.Nexo.SferaLauncherNexo.UruchomSfere() w C:\GITHUB\M\MGT\ViewModel\Helpers\Nexo\SferaLauncherNexo.cs:wiersz 28 w MPRO.View.NexoLogin.NexoLogin..ctor() w C:\GITHUB\M\MGT\View\NexoLogin\NexoLogin.xaml.cs:wiersz 34 w MPRO.AplikacjaStartowa.Main(String[] args) w C:\GITHUB\M\MGT\AplikacjaStartowa.cs:wiersz 31</StackTrace><ExceptionString>System.InvalidOperationException: Brak bieżącej aplikacji w InsERT.Moria.Sfera.UI.Configuration.SferaUIModule.ConfigureApplication(IInjectionContainer unityContainer, IUnityContainer unity, LaunchMessage message) w InsERT.Moria.Sfera.MenedzerPolaczen.LS8=(UnityAdapter container, IUnityContainer unity, LaunchMessage launchMessage, Boolean ui) w InsERT.Moria.Sfera.MenedzerPolaczen.Polacz(DanePolaczenia danePolaczenia, ProductId produkt, Nullable`1 dodatkowyProdukt1, Nullable`1 dodatkowyProdukt2, Nullable`1 dodatkowyProdukt3, Nullable`1 dodatkowyProdukt4, Nullable`1 dodatkowyProdukt5) w MGT.ViewModel.Helpers.Nexo.SferaLauncherNexo.UruchomSfere() w C:\GITHUB\M\MGT\ViewModel\Helpers\Nexo\SferaLauncherNexo.cs:wiersz 28 w MPRO.View.NexoLogin.NexoLogin..ctor() w C:\GITHUB\M\MGT\View\NexoLogin\NexoLogin.xaml.cs:wiersz 34 w MPRO.AplikacjaStartowa.Main(String[] args) w C:\GITHUB\M\MGT\AplikacjaStartowa.cs:wiersz 31</ExceptionString></Exception></TraceRecord> An unhandled exception of type 'System.InvalidOperationException' occurred in MPRO.exe Brak bieżącej aplikacji Metoda do utworzenia Uchwytu: public static Uchwyt UruchomSfere() { try { DanePolaczenia danePolaczenia = DanePolaczenia.Jawne("(local)\\INSERTGT", "Nexo_MGT", false, "sa", ""); MenedzerPolaczen mp = new MenedzerPolaczen(); mp.DostepDoUI = true; Uchwyt sfera = mp.Polacz(danePolaczenia, ProductId.Subiekt); return sfera; } catch (Exception e) { Console.WriteLine(e); throw; } } Przy tej samej konfiguracji ale bez użycia UI, Uchwyt tworzy się poprawnie. Proszę o informację gdzie szukać problemu. Link to postu
Katarzyna Rozmarynowska 166 Napisano 17 Września 2020 Udostępnij Napisano 17 Września 2020 w Sfera Nexo Aplikacja Wpf - brak bieżacej aplikacji Prawdopodobnie tworzy Pan uchwyt przed utworzeniem instancji aplikacji WPF. Zgodnie z instrukcją do SDK, należy najpierw utworzyć aplikację, tj. obiekt klasy dziedziczącej po klasie AplikacjaWpf, uruchomić ją przy pomocy metody Uruchom(), a dopiero potem utworzyć uchwyt. Link to postu
Mariusz Miziolek 1 Napisano 18 Września 2020 Autor Udostępnij Napisano 18 Września 2020 w Sfera Nexo Aplikacja Wpf - brak bieżacej aplikacji Dziękuje za podpowiedź ale to było moje pierwsze podejrzenie które wykluczyliśmy. Aplikacja została napisana zgodnie z dostarczoną dokumentacją. Klasa startowa: [STAThread] static void Main(string[] args) { AplikacjaStartowa AppStart = new AplikacjaStartowa(); AppStart.StartupUri = new System.Uri("MainWindow.xaml ", System.UriKind.Relative); AppStart.Uruchom(); } W tej samej aplikacji udało nam się utworzyć obiekt strefy wyołując inną formę przy starcie, przy pierwszej próbie było to dla klasy: public partial class MainWindow : RadRibbonWindow { } W powyższym utworzenie obiektu Sfery kończy się powyższym błedem, przy zmianie klasy na public partial class MainWindow : RadWindow { } lub public partial class MainWindow : Window { } Problem nie wystepuję, dzięki temu możemy kontynuować prace ale może warto sprawdzić dlaczego przy dziedziczeniu z RadRibbonWindow przy wykorzystaniu jako main window taki problem występuje. (RadRibbinWindow as Main Window) Link to postu
Katarzyna Rozmarynowska 166 Napisano 21 Września 2020 Udostępnij Napisano 21 Września 2020 w Sfera Nexo Aplikacja Wpf - brak bieżacej aplikacji Niestety, nie udało mi się powtórzyć tego problemu z RadRibbonWindow. Zadziałał u mnie taki kod: class AplikacjaStartowa : AplikacjaWpf { [STAThread] static void Main(string[] args) { var appStart = new AplikacjaStartowa { StartupUri = new System.Uri("MainWindow.xaml ", System.UriKind.Relative), ShutdownMode = System.Windows.ShutdownMode.OnLastWindowClose }; appStart.Uruchom(); } } <telerikRibbon:RadRibbonWindow x:Class="Sfera_telerik_wpf.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:telerikRibbon="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.RibbonView" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <telerikRibbon:RadRibbonView x:Name="RibbonView" Grid.Row="0" ApplicationName="Aplikacja sferyczna z Telerikiem" > <telerikRibbon:RadRibbonView.Items> <telerikRibbon:RadRibbonTab Header="Jeden" /> <telerikRibbon:RadRibbonTab Header="Dwa" /> <telerikRibbon:RadRibbonTab Header="Trzy" /> </telerikRibbon:RadRibbonView.Items> </telerikRibbon:RadRibbonView> <Button x:Name="UruchomSfereButton" Content="Uruchom Sferę" Click="UruchomSfereButton_Click" VerticalAlignment="Center" HorizontalAlignment="Center" Grid.Row="1"/> </Grid> </telerikRibbon:RadRibbonWindow> public partial class MainWindow : RadRibbonWindow { public MainWindow() { InitializeComponent(); } private void UruchomSfereButton_Click(object sender, RoutedEventArgs e) { var uchwyt = UruchomSfere(); _ = MessageBox.Show("Sfera została uruchomiona"); } static Uchwyt UruchomSfere() { DanePolaczenia danePolaczenia = DanePolaczenia.Jawne("(local)", "nexo_31_1_2", true); MenedzerPolaczen mp = new MenedzerPolaczen(); mp.DostepDoUI = true; Uchwyt sfera = mp.Polacz(danePolaczenia, ProductId.Subiekt); _ = sfera.ZalogujOperatora("Szef", "robocze"); return sfera; } } Link to postu
Polecane posty