|
|
Nutzereingabe Standalone Executable |
|
evil2106 |

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 11.10.12
|
 |
|
 |
Wohnort: Rostock
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 11.10.2012, 13:39
Titel: Nutzereingabe Standalone Executable
|
 |
Hallo liebes Forum,
ich habe ein Problem mit selbsterstellten Matlab Executables.
Innerhalb des Matlab-Skripts werden eine Reihe von Nutzerabfragen getätigt, die über input() erfolgen. Wenn ich das ganze dann kompiliere und unter Windows die exe im cmd-Fenster aufrufe, stürzt das Programm ab.
So sieht das Testfile aus:
Die Test-exe wird über
im cmd-Fenster von Windows aufgerufen. Kommt es dann zur Eingabe, bricht das Programm ab, weil der Befehl nicht erkannt wird.
Kann mir jemand sagen, wie ich solche Nutzerabfragen in mein Programm einbauen kann. Oder geht das nur mit einer Gui?
Viele Grüße.
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 08:35
Titel:
|
 |
Hallo,
bei mir klappt das von dir beschriebene. Rückfragen:
- Welche MATLAB-Version verwendest du?
- Welches Betriebssystem?
- Mit welchem Befehl kompilierst du?
- Welche Fehlermeldung bekommst du genau?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
evil2106 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 11.10.12
|
 |
|
 |
Wohnort: Rostock
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 08:51
Titel:
|
 |
|
 |
|
Hallo Harald,
schön das jemand antwortet. Ich verwende Windows 7 64 bit. Zum kompilieren verwende ich das deploy-Tool von Matlab (Matlab 2012b, Compiler Version 4.18 ). Der Compiler Aufruf lautet:
Test.exe wird dann über ein batch-File gestartet.
Ich habe gerade bemerkt, dass ich wohl die falsche exe genommen habe. Bisher verwendete ich immer die exe aus src Ordner. Mit der exe aus dem distri Ordner funktionierts, jedoch bin ich mit der Performance nicht ganz zufrieden.
Ist es normal, dass die Eingabe so "verzögert" reagiert? Gibt es eigentlich eine bessere Möglichkeit den Bildschirm der Shell länger aufzulassen, bis der Bildschirm der Exe erscheint. Wenn ich ohne pause im bat. file arbeite oder die exe durch doppelklick starte, erscheint kein Eingabefenster.
@edit: Ich habe gerade versucht die test.exe direkt über die Eingabeaufforderung zu starten. Dann kommt.
Es klappt also doch nicht so richtig. Da war meine Vorfreude etwas verfrüht.
Viele Grüße
Christof
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 20:12
Titel:
|
 |
|
 |
|
Hallo,
ja, man sollte die .EXE aus dem distrib(ute) Verzeichnis nehmen. In src stehen nur Zwischenprodukte.
Zitat: |
Ist es normal, dass die Eingabe so "verzögert" reagiert? |
Was genau ist verzögert? Das Erscheinen der Eingabeaufforderung, erscheinen die dann eingegebenen Buchstaben mit Verzögerung, oder um was geht es?
Falls es um den Start der .EXE geht: da sind je nach Rechner ca. 2-10 Sekunden normal, da im Hintergrund die MCR (MATLAB Compiler Runtime) geladen werden muss.
Zitat: |
...den Bildschirm der Shell länger aufzulassen, bis der Bildschirm der Exe erscheint. |
Das verstehe ich nicht.
Zitat: |
oder die exe durch doppelklick starte, erscheint kein Eingabefenster. |
kann ich so (bei gleichem System) nicht reproduzieren.
Zitat: |
Ich habe gerade versucht die test.exe direkt über die Eingabeaufforderung zu starten. |
Auch das kann ich leider nicht nachvollziehen. Das j kam nicht etwa vor oder nach der Ausführung der .EXE an sich?
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
evil2106 |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 31
|
 |
|
 |
Anmeldedatum: 11.10.12
|
 |
|
 |
Wohnort: Rostock
|
 |
|
 |
Version: 2012b
|
 |
|
|
 |
|
Verfasst am: 12.10.2012, 21:00
Titel:
|
 |
|
 |
|
Hi,
Zitat: |
Was genau ist verzögert? Das Erscheinen der Eingabeaufforderung, erscheinen die dann eingegebenen Buchstaben mit Verzögerung, oder um was geht es?
|
Wenn der input() Befehl abgearbeitet wird, reagiert die Tastatureingabe "verzögert". Ich muss mehrere Male auf die Tastatut einwirken, damit das "j" in dem Dos Command Window erscheint.
Zitat: |
Zitat: |
......den Bildschirm der Shell länger aufzulassen, bis der Bildschirm der Exe erscheint.
|
Das verstehe ich nicht.
|
Ich starte momentan meine test.exe mittels batch-File.
Ohne den pause Befehl erscheint schon gar nicht die Aufforderung zur Eingabe im Command Window, weil dieser sofort ausgeht. Wie nutzt ihr denn die executables, um Eingabewerte zu verarbeiten.
Zitat: |
kann ich so (bei gleichem System) nicht reproduzieren.
|
Klicke ich doppelt auf die exe ploppt kurz ein Command Window auf und schließt sofort wieder, ohne die Nutzerabfrage abzuarbeiten.
Im Moment verwende ich statt der input() Funktion die inputdlg() Funktion, die eine bessere Performance bietet.
Würdet ihr für eine bessere Nutzerintegration die Verwendung einer Gui empfehlen? Mit der input() Funktion, die sehr gut im Matlab Command Window funktionert, kann man nur ungenügend im Dos Command Window arbeiten.
Viele Grüße
Christof
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2025
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|