[gelöst] Warnmeldung bei Shell Befehl

12. April 2006 08:12

Wenn ich zum ersten Mal einen Shell Befehl aus Attain ausführe erscheint folgende Meldung:

"Sie führen zum ersten Mal folgende Datei aus....."

lässt sich diese Meldung unterdrücken?
Zuletzt geändert von mespelage am 18. April 2006 14:22, insgesamt 3-mal geändert.

12. April 2006 09:00

Was willst du denn hier tun? Einfach eine Datei aufrufen?

12. April 2006 09:04

ich möchte zB einen Dateiorder erstellen

Code:
V_gefunden := FALSE;
WinDirPath := ENVIRON('windir');
Command1 := STRSUBSTNO('%1\system32\cmd.exe', WinDirPath);
RR_File.RESET;
CLEAR(RR_File);
RR_File.SETRANGE(Path,'C:\');
IF RR_File.FIND('-') THEN;
RR_File.SETRANGE(Path,'C:\attain\');
IF RR_File.FIND('-') THEN REPEAT
   IF RR_File.Name = COPYSTR(VV_Nummer,1,4) THEN V_gefunden := TRUE;
UNTIL RR_File.NEXT = 0;
IF V_gefunden = FALSE THEN BEGIN
   V_FileName := STRSUBSTNO('%1%2', RR_File.Path, COPYSTR(VV_Nummer,1,4));
   SHELL(Command1,'/C','md '+V_FileName)
END;


PS: wie bekomme ich solch einen Text in eine Subform, hier im Forum?

[Editiert von Marc Teuber: Code-Tag korrigiert.]

12. April 2006 09:13

und welche Meldung kommt da genau? kommt die aus Navision? oder hast du die SP2 Firewall von XP an? wenn ja, dann ruf den befehl einmal von der Konsole aus auf, beantworte die Frage richtig und er erscheint nicht mehr.
Alternativ ne vernünftige Firewall installieren und den XP-Müll abschalten.

12. April 2006 09:13

Hm, also ich hab den Shell-Befehl auch schon genutzt, ohne so eine Abfrage zu erhalten. Hast du mal probiert den Shell-Befehl direkt über die Konsole einzugeben? Oder vielleicht den Rückgabewert des Shell-Befehls in eine Variable speichern?

12. April 2006 09:19

Die Meldung kommt definitiv aus Attain.
Zur weiteren Info: Wir setzen eine 3.10 ein, die technisch auf 4.0 hochgezogen ist.
Vorher bekam ich diese Meldung nicht.

mfg Michael

Re: Warnmeldung bei Shell Befehl

12. April 2006 10:05

Hi mespelage,

mespelage hat geschrieben:Wenn ich zum ersten Mal einen Shell Befehl aus Attain ausführe erscheint folgende Meldung: "Sie führen zum ersten Mal folgende Datei aus....."

Ich habe deinen Programmcode mal bei mir in Navision in einer Codeunit integriert. Bei mir bekomme ich die Meldung nicht.

Kommt so eine Meldung auch, wenn du einen anderen Befehl absetzt?

Gruß, Marc

12. April 2006 10:11

egal welchen Shell Befehl ich ausführe, kommt jedesmal diese Meldung
siehe Download

Diese Meldung erscheint jedesmal wenn in dem Report bzw. in der Form eine Änderung stattgefunden hat (egal welche Änderung)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

12. April 2006 10:32

Auf diesem Link hier

Mibuso - Shell

ist bezüglich Shell und 4.0 von folgendem die Rede

Regarding no. 2 (Fehlermeldung) you should take a look at the Navision 4.0 late changes document. You can find it in the updated release document on Partnerguide.
In short: You need to store the path and filename to the .exe file in a text constant to avoid the warning...


Vielleicht hilft das ja weiter?

12. April 2006 10:50

ich probiere noch, scheint doch nicht zu funktionieren

12. April 2006 11:20

aus dem gleichen Thread in Mibuso:
g_dreyer hat geschrieben:Not the ideal solution, but give it a go...

You can try calling your console from a batch file and add the following to the batch file....
@ECHO OFF
<<execute your call to the console here>>
cls

So by the way you can either dynamically create your batch file and delete it after you have executed it, or call it with parameters.

Regards,
Gus


Du könntest also eine feste Batchdatei nehmen, die du in eine Textkonstante einfügst, so dass die Meldung unterbleibt.
die eigentlichen Befehole schreibst du vorher in die Batchdatei und löschst diese nach der Ausführung.

12. April 2006 18:39

Auf mibuso gibt es auch eine Alternative zum SHELL-Befehl namens "Oyster".

:greenarrow: Download von mibuso
:greenarrow: Diskussion zum Download auf mibuso

13. April 2006 14:11

Ich verwende dazu immer die Windows Shell:
Code:
PROCEDURE AnlageStart@1(VAR AppendixTemp@1000 : Record 5048755);
VAR
  OLEShell@1000000000 : Automation "{50A7E9B0-70EF-11D1-B75A-00A0C90564FE} 1.0:{13709620-C279-11CE-A49E-444553540000}:'Microsoft Shell Controls And Automation'.Shell";
  BEGIN
    CREATE(OLEShell, TRUE);
    OLEShell.Open(AppendixTemp."Appendix Link");
  END;

18. April 2006 14:21

zurück aus dem Osterurlaub und schon funktioniert's

Ich erstelle zuerst eine Bachdatei und führe diese anschließend mit der Windows-Shell aus. Funktioniert einwandfrei.

Danke an alle

24. Juli 2007 08:56

Hi,

in einem bereits geloeschten Thread wurde ein Problem mit dem "MOVE" Befehl geschildert.
Hier noch eine Variante dazu mit Windows Script Host. msdn link

Code:
Name   DataType      Subtype   
FSO    Automation   'Windows Script Host Object Model'.FileSystemObject   

IF ISCLEAR(FSO) THEN
  CREATE(FSO);
IF FSO.FileExists('D:\\test.txt') THEN BEGIN
  FSO.MoveFile('D:\\test.txt','D:\\Tools\\');
END;


Gruesse
feri