Programm ausführen

Antworten
Snowdog
Beiträge: 17
Registriert: Freitag 10. April 2009, 22:13

Programm ausführen

Beitrag von Snowdog » Mittwoch 14. Oktober 2009, 08:36

Hallo

Mir ist heute aufgefallen das wenn ich über die Funktion "programm ausführen" eine Excel Tabelle mit "Open" öffnen will, die in der Netzwerkumgebung liegt, geht das ohne Probleme im Projekt selbst und im Compilat. :D
Aber, wenn ich einen Ordner in der Netzwerkumgebung "Explore" möchte geht das auch im Projekt, aber im Compilat setzt er den Pfad zurück auf C:\compilat Ordner.
Anbei ein Beispiel.

Gibt es einen Workaround dafür?
Wollte nur ein Inhaltsverzeichnis für meine dauernd genutzten Dateien und Ordner anlegen.

Gruß
Snowdog
Dateianhänge
Inhaltsverzeichnis2.prj
(3.14 KiB) 386-mal heruntergeladen

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Gewollte oder ungewollte Systemeigenschaft ?

Beitrag von Mike D » Mittwoch 14. Oktober 2009, 09:05

Snowdog hat geschrieben: Aber, wenn ich einen Ordner in der Netzwerkumgebung "Explore" möchte geht das auch im Projekt, aber im Compilat setzt er den Pfad zurück auf C:\compilat Ordner.
Diesen Satz verstehe ich nicht.
Das Beispiel nützt so nichts, weil uns die Dateien fehlen und die Ordnerstruktur eine andere ist.

Man kann Dateipfade absolut angeben, also mit Laufwerksbuchstabe beginnend, dann müsste im Projekt und Kompilat das Verhalten gleich sein.
Man kann Pfade aber auch relativ angeben, dann müsste eigendlich von dem Ordner ausgegangen werden in dem die EXE-Datei liegt oder die PRJ-Datei.
Evtl. könnte es helfen den Umweg über eine Batchdatei oder einen Script zu gehen und diese zu starten.

Mike

Snowdog
Beiträge: 17
Registriert: Freitag 10. April 2009, 22:13

Re: Gewollte oder ungewollte Systemeigenschaft ?

Beitrag von Snowdog » Mittwoch 14. Oktober 2009, 09:19

Hallo Danke für die schnelle Antwort.
Ich möchte einen Ordner auf dem Netzwerk öffnen um mir den Ordner Inhalt auflisten zu lassen. Dazu gibt es im Befehle "Programm ausführen" die Unterfunktion "Explor". Im Pfad gebe ich z.B. ein
\\Server\Ordner\Ordner
Das funktioniert auch in der Projektdatei d.h. wenn ich das Projekt starte und den Schalter betätige geht der Explorer auf und ich kann den Inhalt auflisten.
Aber im compilat macht er gar nichts wenn der Schalter betätigt wird. In der comp.mod trägt er anstatt des oben genannten Pfades den Ordner des Compilats ein z.B. c:\compilat Ordner

Du kannst im Beispiel jeden X beliebigen Ordner auf einem Netzwerk eingeben. Ist immer das selbe.

Ich hoffe das war deutlicher beschrieben :oops:

Snowdog

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Gewollte oder ungewollte Systemeigenschaft ?

Beitrag von Mike D » Mittwoch 14. Oktober 2009, 09:56

Jetzt habe ich es verstanden.
Ich kann das Verhalten bestätigen. nach dem Compilieren ist der Pfad auf den data-Ordner des Compilats geändert.
Als Wörkaround: währed der Laufzeit den Pfad ändern, dann geht es. Dafür musst die Werkzeugleiste wieder einblenden.

Mike

Snowdog
Beiträge: 17
Registriert: Freitag 10. April 2009, 22:13

Re: Gewollte oder ungewollte Systemeigenschaft ?

Beitrag von Snowdog » Mittwoch 14. Oktober 2009, 10:32

Hi

Ja das geht aber er merkt sich die Einstellungen nicht. Ich habe es in der Frontplatte aktiviert "Einstellungen merken" und die Einstellungsdatei auch gespeichert. Aber nach erneutem Ausführen steht wieder der C:\ ..... Pfad drin.
Ich denke da sollte ABACOM nachbessern.

Danke für die Tipps.

Gruß

Snowdog

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Gewollte oder ungewollte Systemeigenschaft ?

Beitrag von Mike D » Mittwoch 14. Oktober 2009, 11:40

ja, das hab ich dann auch gemerkt, die Einstellung wird nicht gespeichert.

Mike

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Gewollte oder ungewollte Systemeigenschaft ?

Beitrag von abacom » Mittwoch 14. Oktober 2009, 12:18

In der Tat ein Fehler, der offensichtlich auftritt, wenn das Ziel eine Ordner und keine Datei ist.
Bei konkreten Dateien funktioniert das Abspeichern zur Laufzeit nämlich. Ich werde versuchen das im nächsten Update unterzubingen.

Ein Workaround (zur Laufzeit des Compilats eingeben):
EXEC.JPG
EXEC.JPG (14.55 KiB) 11438 mal betrachtet
ABACOM support

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Programm ausführen

Beitrag von abacom » Montag 19. Oktober 2009, 10:00

Bei konkreten Dateien funktioniert das Abspeichern zur Laufzeit nämlich. Ich werde versuchen das im nächsten Update unterzubingen.
Eine solche Änderung hat sich als relativ aufwendig herausgestellt. Das nächste Update (wird noch ein paar Tage dauern) wird statt dessen eine alternative Komponente "ShellExecute" enthalten, die eine direkte Parameterübergabe von Bauteileingängen zur Windows-API-Funktion erlaubt. Dieses wurde gelegentlich schon angeregt.

http://msdn.microsoft.com/en-us/library ... S.85).aspx
ABACOM support

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Programm ausführen

Beitrag von Mike D » Montag 19. Oktober 2009, 10:11

Das is ja Super!

Mike

abacom
Site Admin
Beiträge: 3917
Registriert: Dienstag 23. September 2008, 10:54
Kontaktdaten:

Re: Programm ausführen

Beitrag von abacom » Dienstag 27. Oktober 2009, 12:04

...Update vom 27.10.2009 lädt gerade hoch.
ABACOM support

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: Programm ausführen

Beitrag von Mike D » Dienstag 27. Oktober 2009, 12:22

Hey Abacom,
der erste Test sieht sehr vielversprechend aus.
Mal sehen was man damit alles zaubern kann.
Ich hab schon so ein paar Ideen.

b.t.w. könnte man das nicht auch einen Level höher machen und auf diese Art jede beliebige API aus PL aufrufen? [ ist nicht wirklich ernst gemeint ]

Grüße

Mike D

Snowdog
Beiträge: 17
Registriert: Freitag 10. April 2009, 22:13

Re: Programm ausführen

Beitrag von Snowdog » Sonntag 22. November 2009, 13:28

Vieln Dank für die schnelle Reaktion.

Snowdog

JOJU
Beiträge: 1
Registriert: Mittwoch 27. März 2013, 12:55

Re: Programm ausführen

Beitrag von JOJU » Mittwoch 14. August 2013, 22:15

Hallo Abacom Team,

ich hätte zu der sehr guten Shellexecute noch eine Bitte:

wäre es möglich noch einen zusätzlichen Pin am Baustein unterzubringen , der die Rückgabeparameter als $ ausgibt?

Return value its ja vorgesehen .
Return code Description
0
The operating system is out of memory or resources.
ERROR_FILE_NOT_FOUND
The specified file was not found.
ERROR_PATH_NOT_FOUND
The specified path was not found.
ERROR_BAD_FORMAT
The .exe file is invalid (non-Win32 .exe or error in .exe image).
SE_ERR_ACCESSDENIED
The operating system denied access to the specified file.
SE_ERR_ASSOCINCOMPLETE
The file name association is incomplete or invalid.
SE_ERR_DDEBUSY
The DDE transaction could not be completed because other DDE transactions were being processed.
SE_ERR_DDEFAIL
The DDE transaction failed.
SE_ERR_DDETIMEOUT
The DDE transaction could not be completed because the request timed out.
SE_ERR_DLLNOTFOUND
The specified DLL was not found.
SE_ERR_FNF
The specified file was not found.
SE_ERR_NOASSOC
There is no application associated with the given file name extension. This error will also be returned if you attempt to print a file that is not printable.
SE_ERR_OOM
There was not enough memory to complete the operation.
SE_ERR_PNF
The specified path was not found.
SE_ERR_SHARE
A sharing violation occurred.
danke und Gruß

JOJU

Antworten

Zurück zu „Thema: Schaltung und Bauteile“