Skocz do zawartości

Sfera Nexo błąd przy łączeniu - Brak bieżącej aplikacji

Polecane posty

Subiekt Nexo PRO Prezentacyjny, nexoSDK_34.0.0.4222, VB.NET, Framework 4.6.1

 

W związku z planowaną migracją z Subiekta GT tworzę bibliotekę z alternatywnym rozwiązaniem dla Subiekta Nexo, ale z jakiegoś powodu występuje błąd przy wywołaniu metody Polacz: System.InvalidOperationException: „Brak bieżącej aplikacji” 

        ConnectionManager = New Sfera.MenedzerPolaczen()
        ConnectionManager.DostepDoUI = True
        Dim pName = "/UruchomionePrzezInsLauncher"
        If Environment.GetCommandLineArgs().Any(Function(a) String.Compare(a, pName, True) = 0) Then
            ConnectionData = Sfera.DanePolaczenia.Odbierz()
        Else
            ConnectionData = Sfera.DanePolaczenia.Jawne(serwer:="(local)\SQLEXPRESS", baza:="Nexo_MBS", False, uzytkownikSerwera:="xxx", hasloUzytkownikaSerwera:="xxx")
        End If
        Nexo = ConnectionManager.Polacz(ConnectionData, InsERT.Mox.Product.ProductId.Subiekt)

Dodam, że Subiekt nexo jest uruchomiony.

Do Solution(rozwiązania głównego) dołączyłem nowy projekt, Biblioteka klas (.NET Framework).

W referencjach nowego projektu dodano:

InsERT.Moria.API

InsERT.Moria.ModelDanych

InsERT.Moria.Narzedzia

InsERT.Moria.Security.Core

InsERT.Moria.Sfera

InsERT.Mox.Core

InsERT.Mox.EntityFramework.Core

InsERT.Mox.EntityFrameworkSupport

 

Co może być przyczyną błędu? Jestem tym bardziej zmieszany, że wcześniej utworzyłem testowy Solution (Aplikacja Windows Forms .NET Framework) zawierający identyczny kod i referencje, tam nie ma problemu z łączeniem(chociaż trwa to aż 10 sekund) i pobieraniem danych z bazy przy użyciu sfery.

 

Dodam również, że dołączenie do rozwiązania głównego nowego projektu typu Aplikacja Windows Forms (.NET Framework) i próba połączenia ze Sferą po utworzeniu instancji okna generuje ten sam błąd. Ustawienie tego projektu jako startowy dla aplikacji również nie pomaga.

 

Załączam szczegóły błędu:

   w InsERT.Moria.Sfera.UI.Configuration.SferaUIModule.ConfigureApplication(IInjectionContainer unityContainer, IUnityContainer unity, LaunchMessage message)
   w InsERT.Moria.Sfera.MenedzerPolaczen.qC8=(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 NexoDALTest.Form1.Form1_Shown(Object sender, EventArgs e) w C:\svn_repos\mSOH2\Projekt\mSOH2\NexoDALTest\Form1.vb:wiersz 48
   w System.Windows.Forms.Form.OnShown(EventArgs e)
   w System.Windows.Forms.Form.CallShownEvent()
   w System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry tme)
   w System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object obj)
   w System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   w System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   w System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry tme)
   w System.Windows.Forms.Control.InvokeMarshaledCallbacks()
   w System.Windows.Forms.Control.WndProc(Message& m)
   w System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   w System.Windows.Forms.Form.WndProc(Message& m)
   w System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   w System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   w System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
   w System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg)
   w System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   w System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   w System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   w Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.OnRun()
   w Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.DoApplicationModel()
   w Microsoft.VisualBasic.ApplicationServices.WindowsFormsApplicationBase.Run(String[] commandLine)
   w mSOH2.My.MyApplication.Main(String[] Args) w :wiersz 81

 

Link to postu

Problem prawdopodobnie wynika z tego (wnioskuje z tego co Pan napisał),

że aplikacja, która korzysta z okienek nexo 

ConnectionManager.DostepDoUI = True

musi spełniać pewne wymaganie.

Tutaj prawdopodobnie chodzi o to, że klasa aplikacji nie dziedziczy po AplikacjaWpf

W dokumentacji jest to opisane np. tutaj:

image.thumb.png.6be51a40c985a966e2431681a310572f.png

 

Link to postu
×
×
  • Dodaj nową pozycję...