[gelöst] Erstellung neue RTC Instanz
Verfasst: 3. Dezember 2018 15:33
Wir verwenden NAV 2016 und möchten eine größere Verarbeitung von Daten auf mehreren RTCs laufen lassen.
Mein konkretes Problem ist, dass ich aus einem NAV Code heraus einen neuen RTC öffnen möchte. Dabei soll auf dem neu geöffneten RTC sofort Code ausgeführt werden. Ich versuche es über den Parameter "runpage" der Microsoft.Dynamics.Nav.Client.exe.
Wenn ich den runpage Parameter weglasse, wird eine neue Instanz des RTC gestartet (was ich auch als zwei Tasks im Taskmanager sehen kann).
Sobald ich aber den runpage Parameter nutze, öffnet mir NAV die Page immer in meiner aktuellen Instanz (es wird also kein zweiter RTC geöffnet).
Vielleicht kann mir jemand einen Tipp geben?
Der Aufruf des RTC erfolgt über folgenden Code.
Verwendete Variablen
Mein konkretes Problem ist, dass ich aus einem NAV Code heraus einen neuen RTC öffnen möchte. Dabei soll auf dem neu geöffneten RTC sofort Code ausgeführt werden. Ich versuche es über den Parameter "runpage" der Microsoft.Dynamics.Nav.Client.exe.
Wenn ich den runpage Parameter weglasse, wird eine neue Instanz des RTC gestartet (was ich auch als zwei Tasks im Taskmanager sehen kann).
Sobald ich aber den runpage Parameter nutze, öffnet mir NAV die Page immer in meiner aktuellen Instanz (es wird also kein zweiter RTC geöffnet).
Vielleicht kann mir jemand einen Tipp geben?
Der Aufruf des RTC erfolgt über folgenden Code.
- Code:
ServerInstance.RESET;
ServerInstance.SETRANGE("Server Instance ID",SERVICEINSTANCEID);
IF ServerInstance.FINDFIRST THEN BEGIN
CLEAR(Registry);
FileName := Registry.GetValue('HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Microsoft.Dynamics.Nav.Client.exe','','');
//Page öffnen bei Start RTC, aber keine neue Instanz
Argument := '"dynamicsnav://'+ServerInstance."Server Computer Name"+':'+FORMAT(ServerInstance."Server Port")+'/'+ServerInstance."Service Name"+'/'
+COMPANYNAME+'/runpage?page=67028"';
//Start einer neuen RTC Instanz
//Argument := '"dynamicsnav://'+ServerInstance."Server Computer Name"+':'+FORMAT(ServerInstance."Server Port")+'/'+ServerInstance."Service Name"+'/'
// +COMPANYNAME+'/"';
CLEAR(Process);
Process := Process.Process();
Process.StartInfo.UseShellExecute := FALSE;
Process.StartInfo.FileName := FileName; // path to program
Process.StartInfo.Arguments := Argument;
Process.Start();
END;
Verwendete Variablen
- ServerInstance Record Server Instance
Process DotNet System.Diagnostics.Process.'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
Registry DotNet Microsoft.Win32.Registry.'mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
FileName Text
Argument Text