[Gelöst] Aufruf eines externen Programms mit Parameterüberg.

24. Februar 2016 10:51

Hallo Zusammen,

Ich muss beim Klick auf ein Button ein Programm der auf ein Netzlaufwerk liegt öffnen und diesen ein Parameter übergeben. Wenn ich auf dem Action Button das erste mal klicke, dann funktioniert das Ganze wunderbar. Klicke ich ein zweites mal drauf, dann passiert nichts (hier sollte der Befehl dann nochmals ausgeführt werden). Wenn ich das Navision schließe und wieder öffne geht das wieder ein mal und dann nicht mehr. Was mache ich falsch?

Code:
Barcode_G := Rec.Barcode;
Pfad_G := STRSUBSTNO('\\hs-crm01\Software\smartNav\smartAxLink.exe SHOWPDF|int. BelegNr=%1', Barcode_G);

IF ISCLEAR (WshShell) THEN BEGIN
CREATE(WshShell,FALSE,TRUE);
WshShell.Run(Pfad_G);
END;
Zuletzt geändert von Pablo1985 am 24. Februar 2016 11:16, insgesamt 1-mal geändert.

Re: Aufruf eines externen Programms mit Parameter übergabe

24. Februar 2016 10:55

Ich würde vermuten, dass der Fehler im IF ISCLEAR liegt. Beim zweiten Aufruf liefert das false, falls WshShell keine lokale Variable ist.

Re: Aufruf eines externen Programms mit Parameter übergabe

24. Februar 2016 10:57

oder der PDF- Reader läuft noch.

Gruß Fiddi

Re: Aufruf eines externen Programms mit Parameter übergabe

24. Februar 2016 11:00

Wenn ich die Zeile IF ISCLEAR weg lasse, dann erhalte ich beim zweiten Klicken die Meldung "Die Automation-Variable wurde bereits erstellt."

Re: Aufruf eines externen Programms mit Parameter übergabe

24. Februar 2016 11:10

Dann cleare sie oder übergehe das create :wink:.

Re: Aufruf eines externen Programms mit Parameter übergabe

24. Februar 2016 11:15

Sorry, Blackout :-?
Mit Clear(wshshell) gehts dann.. :) danke !

Re: Aufruf eines externen Programms mit Parameter übergabe

24. Februar 2016 11:24

Ein Hinweis zum zweiten Parameter "NewServer" beim CREATE
Wenn das erstellen der PDFs länger dauert, sollte man diesen auf TRUE stellen. Den wird so jeweils eine neue Instanz für das externe Programm erstellt. Es kann sonst dort zum Überschreiben der Parameter kommen, wenn nur eine Instanz am Laufen ist. Das ist mir mit dem PDFCreator in langsamen Netzen schon passiert. Hier standen dann falsche Infos in dem PDF, die zu einem anderen Datensatz gehörten, der zeitnah vom gleichen User ebenfalls bearbeitet worden war.