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

Weitergabe des GUI Handles an eine Funktion.

 

brichun
Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 13.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.11.2010, 12:20     Titel: Weitergabe des GUI Handles an eine Funktion.
  Antworten mit Zitat      
Hi,

Beschreibung:

Von der GUI aus wird die M File listenerLive aufgerufen.
Code:

% GUI button Click
listenerlive ;
 


In dieser wird dann der listener für einen Port erstellt.

Code:

% M File listerLive
% s ist das Objekt der Session
lh1 = s.addlistener('DataAvailable', @schieben);
 


die Indirekte Callbackfunktion schieben wird bei dem DataAvailable Ereignis automatisch aufgerufen.Also immer dann wen Daten anstehen.
Die Argumenten der Funktion schieben:

src = SessionObjekt for the the listener
event = daq.DataAvailableInfo Objekt

Code:

% die Callbackfunktion schieben
function schieben(src,event)
.
.
end
 


Jetzt möchte ich in ein TXTLabele der GUI bei jedem Funktionsaufruf von schieben einen Wert aktualisieren. Damit man das machen kann brauche ich das Handle der GUI in der Schieben Funktion damit ich mit set(...) das TXTLable ansprechen kann.Wie bekomme ich das GUI Handle in die Schieben Funktion?


hab es folgendermasen versucht jedoch bekomme ich dann einen Speicherfehler. Die schieben Funktion wird 10/sek aufgerufen.

Code:

% nur  das steht in der schieben Funktion

GUI_NI9219_Figure = GUI_NI9219;             % Figure lesen
dataFigure = guidata(GUI_NI9219_Figure);  % Handle der Figure lesen

set(dataFigure.txt_yWert_CH3,'String','Test'); % In Textfeld aus Figure  
                                                                   % Test schreiben  
 


Hilfe ich verzweifel
Private Nachricht senden Benutzer-Profile anzeigen


brichun
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 13.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2010, 12:09     Titel:
  Antworten mit Zitat      
Da ich nur einige Werte auf der GUI aktualisiert haben möchte.

Hab ich sie global angelegt und aktualisiere diese mit Hilfe einer Timer Funktion.

Code:

% wird beim Erzeugen der GUI ausgeführt
t= timer ('TimerFcn',{@PrintWertOnGui,handles},'Period',1);


% beim klicken auf start

start(t);

% beim klicken auf stopp

stop(t);

 



die PrinWertOnGui Funktion sieht so aus.

Code:


function PrintWertOnGui(src,event,handles)

global A,B,C,D

set(handles.txt_Lable1,'String',num2str(A));
set(handles.txt_Lable2,'String',num2str(B));
set(handles.txt_Lable3,'String',num2str(C));
set(handles.txt_Lable4,'String',num2str(D));


end
 



vielleicht hilft es jemandem weiter

gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
brichun
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 30
Anmeldedatum: 13.09.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 11.11.2010, 16:43     Titel:
  Antworten mit Zitat      
Ich versuche immer noch einer Funktion das GUIHandle zu überreichen.
Mit dem Timer hat es wunderbar funktioniert in dem man diese Syntax

{@PrintWertOnGui,handles}

einhält.

Damit konnte ich dann innerhalb PrintWertOnGUi Funktion die grafischen Objekte direkt ansprechen.

Code:

t= timer ('TimerFcn',{@PrintWertOnGui,handles},'Period',1);

 


dachte jetzt dass ich die Syntax überall anwenden kann wo @funktion verwendet wird.

Code:

% diese Syntax geht
handles.lh = handles.s.addlistener('DataAvailable', @bufferData );

% diese Syntax geht nicht
handles.lh = handles.s.addlistener('DataAvailable', {@bufferData,handles} );




 


Als Fehlermeldung kommt

One or more Output arguments are not assigned during call to "_feval".

Werde daraus nicht schlauf kann jemand weiterhelfen?

Danke Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
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.