|
|
Problem mit Ausführen von Funktion |
|
Alex |

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.08.07
|
 |
|
 |
Wohnort: Dortmund
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2008, 09:48
Titel: Problem mit Ausführen von Funktion
|
 |
Hi,
folgende Situation: Ich habe mehrere GUIs für eine SQL Geschichte Um vorher jedoch alle nötigen "Einstellungen" vorzunehmen, die vorher zu Fuss erledigt werden mussten, habe ich mir eine Funktion geschrieben.
Diese ändert die Current Directory jeweils zu der richtigen Position und soll eine Funktion aufrufen.
Die Funktion 'mystart' ist der Knackpunkt. Ohne diese funktioniert der Rest nicht!
Der Status sollte eigentlich einen Wert zurückgeben, jedoch kommt folgende Fehlermeldung:
Zu Fuss funktioniert alles wunderbar!
Grüße
_________________
Gruß
Alex
|
|
|
|
|
dib0r |

Forum-Guru
|
 |
Beiträge: 413
|
 |
|
 |
Anmeldedatum: 09.05.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2008, 10:24
Titel:
|
 |
Hallo,
so wie es aussieht ist mysql ein Skript und keine Funktion. Der Unterschied liegt darin dass zum einen alle Variablen in einer Funktion nach dem Funktionsaufruf wieder gelöscht werden (lokale Variablen) und dass man Funktionen Ein- und Ausgabewerte zuweisen kann.
Um eine Funktion zu erstellen, muss der Kopf der m-Datei ungefähr so aussehen:
. Ausserdem muss dann deine m-Datei auch meineFunktion.m heissen. Schau dich mal im Forum ein bisschen um, dann erfährst du wie man Funktionen schreibt (ist eigentlich nicht schwierig).
Nunja, falls du dennoch mit Skripten arbeiten willst, kannst du mysql keine Eingabevariable zuweisen, darfst praktisch nur "mysql" schreiben, ohne runde Klammern (so wie mystart).
MfG
|
|
|
Alex |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.08.07
|
 |
|
 |
Wohnort: Dortmund
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2008, 10:42
Titel:
|
 |
|
 |
|
dib0r hat Folgendes geschrieben: |
Hallo,
so wie es aussieht ist mysql ein Skript und keine Funktion. Der Unterschied liegt darin dass zum einen alle Variablen in einer Funktion nach dem Funktionsaufruf wieder gelöscht werden (lokale Variablen) und dass man Funktionen Ein- und Ausgabewerte zuweisen kann.
Um eine Funktion zu erstellen, muss der Kopf der m-Datei ungefähr so aussehen:
. Ausserdem muss dann deine m-Datei auch meineFunktion.m heissen. Schau dich mal im Forum ein bisschen um, dann erfährst du wie man Funktionen schreibt (ist eigentlich nicht schwierig).
Nunja, falls du dennoch mit Skripten arbeiten willst, kannst du mysql keine Eingabevariable zuweisen, darfst praktisch nur "mysql" schreiben, ohne runde Klammern (so wie mystart).
MfG |
Hi,
also ich glaube wir reden einander vorbei.
'mystart' ist nicht von mir geschrieben, ich muss es nur benutzen, weil es auch bereits einige notwendige Dinge läd.
Ich will also 'mystart' einfach nur einmal ausführen, was ich bis jetzt per Hand mache. Des Weiteren ist mysql('status') nur ein Test, ob ich eine Verbindung habe...
_________________
Gruß
Alex
|
|
|
dib0r |

Forum-Guru
|
 |
Beiträge: 413
|
 |
|
 |
Anmeldedatum: 09.05.08
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2008, 11:00
Titel:
|
 |
Alex hat Folgendes geschrieben: |
also ich glaube wir reden einander vorbei. |
Hm, gut möglich
D.h. ohne "mystart" funktioniert dein "mysql" nicht, du weisst aber nicht genau was mystart eigentlich macht? Die Fehlermeldung lässt allerdings darauf schliessen, dass es mit "mysql" einen Fehler gibt.
Hast du dir mal
vor, während und nach dem Aufruf von getready ausgeben lassen? Vielleicht gibt es ja da noch Probleme bzw. wird irgendwo der Pfad zurückgesetzt. Ist "mysql" eine Funktion oder ein Skript?
MfG
|
|
|
Alex |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.08.07
|
 |
|
 |
Wohnort: Dortmund
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2008, 11:49
Titel:
|
 |
'mysql' ist eine Funktion, mit deren Hilfe ich mysql Befehle an einen Server senden kann.
Dieses 'mysql' ist freiverfügbar aus dem Netz. Zusätzlich benutze ich Funktionen, die auf einem Server in unserem Netzwerk liegen (deshalb wechsel ich erst das Verzeichnis mit einem '//' am Anfang).
'mystart' habe ich nicht selbst geschrieben. Ich weiß nicht genau, was die Funktion macht; durch diese habe ich Zugriff auf die Funktionen auf unserem Server (das sind m-files, die ich für die Datenbank später benutze).
Ich habe sie mal angeschaut:
Hoffe das ist ein bisschen verständlich
_________________
Gruß
Alex
|
|
|
Alex |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 35
|
 |
|
 |
Anmeldedatum: 13.08.07
|
 |
|
 |
Wohnort: Dortmund
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 01.08.2008, 11:54
Titel: Lösung
|
 |
Hahaha
Ich bin sooo blöd. Ich hab den Fehler gefunden. Ich habe vorhin etwas herauskommentiert und das Problem ist einfach nur, dass der Befehl zum testen, also "mysql('status')", nicht ausgeführt werden kann, weil dafür die entsprechenden Dateien in meinem Workspace liegen müssen!
Ahhh... so eine dumme Sache
Danke für eure Hilfe!
_________________
Gruß
Alex
|
|
|
|
|
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.
|
|