WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

2 mal starten ?!

 

testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 09:52     Titel: 2 mal starten ?!
  Antworten mit Zitat      
Hallo,

ich hab ein gui geschrieben und folgendes Problem: Ich muss auf run drücken und während die figure schon geöffnet ist gleich nochmal auf run, damit es richtig läuft. Hat das schon mal jemand von euch gehört, bzw. weiß was ich da machen muss?!

Grüße


denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 04.08.2011, 10:04     Titel:
  Antworten mit Zitat      
Hallo

vermutlich wurde die GUI noch nicht komplett aufgebaut. Also bisschen warten.
Private Nachricht senden Benutzer-Profile anzeigen
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 10:15     Titel:
  Antworten mit Zitat      
Doch die GUI erscheint komplett aufgebaut. Ich lasse etwas mithilfe von Timer in ein axes-Feld zeichnen. Das erscheint nicht. Es erscheint wie gesagt erst, wenn ich noch mal auf run klicke, während die figure schon geöffnet ist. Alle anderen Funktionen funktionieren.
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 10:19     Titel:
  Antworten mit Zitat      
Jetzt kann ich es noch ein wenig konkretisieren:
Ich lass über eine Funktion einen Körper zeichnen. Diese Funktion wird mithilfe von einem Timer immer wieder ausgeführt. In dieser Funktion wird auch eine andere Funktion ausgeführt, damit ich nicht einen zweiten Timer machen musste, der die 2. Funktion aufruft. Diese 2. Funktion wird erst mit aufgerufen, wenn ich noch einmal auf run klicke.
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 04.08.2011, 10:28     Titel:
  Antworten mit Zitat      
Hallo
das wird schwer ohne Code zu beantworten sein.
Versuch mal zum Debuggen.
Private Nachricht senden Benutzer-Profile anzeigen
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 11:00     Titel:
  Antworten mit Zitat      
Code:

val = cell2mat(get(handles.sliders(1:3),'Value'))
 


Hier muss irgendwo der Fehler sein.

Code:

%Das steht in der openingfcn:
handles.sliders = findobj( gcf, 'Style', 'slider');
handles.t = timer('executionmode','fixedrate','Period',1,'Timerfcn',{@funktion1,handles});
start(handles.t);
guidata(hObject, handles);

function funktion1(hObject, eventdata, handles)
%[...]
funktion2(handles)

function funktion2(handles)
val = cell2mat(get(handles.sliders(1:3),'Value'))
 
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 11:13     Titel:
  Antworten mit Zitat      
Mein Code hat auch kein Fehler, denn wenn ich die Funktion mit einem Pushbutten starte ist es kein Problem. Es muss irgendwie im zusammenhang mit dem Timer stehen...
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 04.08.2011, 11:37     Titel:
  Antworten mit Zitat      
Hallo

das liegt wahrscheinlich an HANDLES. Als du TimerFcn deklariert hast, hast du HANDLES zur Zeitpunkt des Öffnens des GUI übergeben, danach werden die handles nicht mehr aktualisiert.

Besser TimerFcn erst zu Schluss deklarieren und starten.
Außerdem in Timer Handles mit GUIDATA aktualisieren.
Code:

%Das steht in der openingfcn:
handles.sliders = findobj( gcf, 'Style', 'slider');
handles.t = timer('executionmode','fixedrate','Period',1);
guidata(hObject, handles);
set(handles.t, 'Timerfcn',{@funktion1,handles})
start(handles.t);

function funktion1(hObject, eventdata, handles)
%[...]
funktion2(handles)

function funktion2(handles)
val = cell2mat(get(handles.sliders(1:3),'Value'))
 
Private Nachricht senden Benutzer-Profile anzeigen
 
testdummy

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 04.08.2011, 13:22     Titel:
  Antworten mit Zitat      
Der Tip war Gold wert! Im Nachhinein logisch.

Vielen lieben Dank!
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.