Windows Notepad Anbindung CC / RTC

8. August 2012 08:44

Hallo Zusammen.

Ich weiß es gibt ja Waldos Editor. Aber ich dachte mir, das muss doch auch ohne separates Programm gehen, d.h. Boardmittel.
Also habe ich mir das Notepad als Ziel ausgedacht.

Ziel:
Ich will an der VK-Zeile das Notepad öffnen (mit momentanen Inhalt), den Inhalt ändern (erweiter etc.) und dann zurückgeben.

Status:
Funktioniert sehr gut, technisch keine Probleme (auf den ersten Blick).

Problem:
Beim Kunden tritt jetzt vermehrt das Phänomen auf (aber nicht immer!!), dass er bei gleichzeitiger Nutzung des Notepads die berühmte Meldung "Die Tabelle Verkaufszeile ist durch Benutzer XYZ gesperrt. ..." ausgibt :-(

Case: Benutzer A in Auftrag 1234 benutzt das Notepad und Benutzer B in Auftrag 56789 benutzt auch das Notepad. Manchmal können beide ohne Probleme arbeiten, manchmal kommt die o. g. berühmte Meldung :?:

Es gibt aber weit und breit kein Locktable im Aufruf, daher vermute ich, dass es damit zusammenhängt, dass mit einem WAIT-Paramter auf eine Rückgabe warten muss und NAV daher sicherheitshalber mal die Tabelle sperrt.

Hier mal der Aufruf des Notepads:
Code:
[b]StartEditor()[/b]
IF ISSERVICETIER THEN BEGIN
  TempFile.CREATEINSTREAM(TempStream);
  DOWNLOADFROMSTREAM(TempStream,'Notepad','<TEMP>','',MagicPath);
END;
TempFile.CLOSE;
IF ISCLEAR(WSHShell) THEN
  CREATE(WSHShell,TRUE,TRUE);
WindowsStyle := 1;
WaitForReturn := TRUE;
IF ISSERVICETIER THEN BEGIN
  TempFileName := 'C:\Windows\System32\' + 'notepad.exe';
  locintShellNo := WSHShell.Run(TempFileName + ' ' + MagicPath,WindowsStyle,WaitForReturn);
END ELSE BEGIN
  TempFileName := 'C:\Windows' + '\notepad.exe' + ' ' + TEMPORARYPATH + STRSUBSTNO('Notepad-%1.txt',USERID);
  locintShellNo := WSHShell.Run(TempFileName,WindowsStyle,WaitForReturn);
END;


Hat jemand eine schlaue Idee woran es liegen könnte?

MfG
Mr.Nav

Re: Windows Notepad Anbindung CC / RTC

9. August 2012 08:13

Keiner eine zündende Idee?

Re: Windows Notepad Anbindung CC / RTC

9. August 2012 13:55

Auf einen Schuss ins Blaue:

Hast du schon mal versucht, ob es an dem Parameter "WaitForReturn" liegt?
Ich glaube mich zu erinnern, dass NAV bei so langen Prozessen die gleiche Fehlermeldung auswirft. (Als Beispiel der NAV Debugger)

Re: Windows Notepad Anbindung CC / RTC

9. August 2012 14:00

m_schneider hat geschrieben:Auf einen Schuss ins Blaue:

Hast du schon mal versucht, ob es an dem Parameter "WaitForReturn" liegt?
Ich glaube mich zu erinnern, dass NAV bei so langen Prozessen die gleiche Fehlermeldung auswirft. (Als Beispiel der NAV Debugger)


Problem an der Sache ist, wenn ich "Wait For Return" auf "FALSE" stelle, gibt es keine Rückgabe, das der Code weiter verarbeitet wird :-(