5. Juni 2010 21:57
Hallo zusammen,
habe seit einem technischen Upgrade auf NAV2009 ein Problem mit einem WShell-Aufruf in der Artikelkarte. Hier ist ein kleines Zusatzprogramm eingebunden, welchen evtl. vorhandene JPGs auf dem Fileserver in ein BMP wandelt und dieses dynamisch anzeigt.
WindowsStyle := 0;
WaitForCommand := TRUE;
IF FSO.FileExists(PicDirectory + "No." + '.jpg') THEN BEGIN
IF FSO.FileExists(APPLICATIONPATH + '\jpg2bmp.exe') THEN BEGIN
CREATE(WShell);
cmd := APPLICATIONPATH + '\jpg2bmp.exe -outfile ' + TempBMP + ' -color 256 -bmp -scale 1/1 '+PicDirectory + "No." + '.jpg';
WShell.Run(cmd,WindowsStyle,WaitForCommand);
CLEAR(WShell);
IF FSO.FileExists(TempBMP) THEN BEGIN
Picture.IMPORT(TempBMP,FALSE);
CALCFIELDS(Picture);
END;
END;
END ELSE BEGIN
CLEAR(Picture);
END;
An der fett markierten Stelle wirft der Debugger mit die Meldung In Methode RUN wurde eine Ausnahmegenehmigung hervorgerufen. Das OLE Control oder der Automation Server gaben folgende Fehlermeldung zurück (HRESULT) -2147352567.
Wshell ist Automation vom Typ 'Windows Script Host Object Model'.WshShell
Jemand vielleicht einen Tipp? Das Problem tritt auf allen Clients auf, jedoch nicht unter dem ursprünglichen NAV 5.01 sondern erst seit dem techn. Upgrade.
5. Juni 2010 22:58
Seit NAV 2009 verlangt Windows Script Host Object Model'.WshShell einen Funktionsparameter mehr, siehe z.B. hier
viewtopic.php?p=35799#p35799