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

Übergabeparameter gui guide

 

JeDi
Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.01.12
Wohnort: Wilhelmshaven
Version: R2009b
     Beitrag Verfasst am: 29.02.2012, 16:47     Titel: Übergabeparameter gui guide
  Antworten mit Zitat      
Hallo,

Ich habe zwei Guis (main_gui, second_gui) mittels guide erstellt.

Ich möchte aus meiner main_gui Variablen übergeben (an: second_gui) und auch welche zurück erhalten.

bspw.
Code:

%In1 = 'test1'
%In2 = 'test2'

[h, output, Out1, Out2] = second_gui(In1, In2);

%h = handles (second_gui)
%output = handles.output (second_gui)
%Out1 = string aus edit box1 (second_gui)
%Out2 = string aus edit box2 (second_gui)
 

Kann es sein, dass ich einer gui, die mittels guide erstellt wurde, auf diese Weise keine Parameter übergeben darf, da diese optionalen Parameter für andere Zwecke belegt sind?
Stutzig macht mich der Code in der second_gui:
Code:

function varargout = second_guide(varargin)

gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @FGW_TR3_settings_OpeningFcn, ...
                   'gui_OutputFcn',  @FGW_TR3_settings_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);


if nargin && ischar(varargin{1}) %FEHLER wenn varargin{1}=''
    gui_State.gui_Callback = str2func(varargin{1});
end



if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
 


wenn Ich nämlich die Variable
Code:
setze, bekomm ich in den oben markierten Code (%FEHLER wenn varargin{1}='') einen Fehler, so bin ich drauf gestoßen!

Weiß jemand, ob die Parameterliste reserviert ist und wie ich alternativ Variablen übergeben kann?
Private Nachricht senden Benutzer-Profile anzeigen


Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 29.02.2012, 17:42     Titel:
  Antworten mit Zitat      
Hey,

ja da gibt es in der Tat eine Einschrenkung, da in diesem Fall str2func eine Fehlermeldung ausgibt. Du könntest es z.B. so machen:

Code:

[h, output, Out1, Out2] = second_gui([],In1, In2);
% oder
[h, output, Out1, Out2] = second_gui(true,In1, In2);
 


So stellst du sicher, dass beim Aufruf nicht str2func aufgerufen wird.

Greetings
Private Nachricht senden Benutzer-Profile anzeigen
 
JeDi
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 9
Anmeldedatum: 23.01.12
Wohnort: Wilhelmshaven
Version: R2009b
     Beitrag Verfasst am: 29.02.2012, 18:20     Titel:
  Antworten mit Zitat      
... ersteinmal vielen Dank, dass du/ihr euch Gedanken macht!

Kannst du mir denn genau sagen, was da passiert bzw. was ich bei der Übergabe (zusätzlich) beachten muss?

Sehe ich das richtig, das der erste Parameter dazu benutzt werden kann, um direkt einen 'CALLBACK' einer Funktion (gui) aufzurufen?
Bspw.
Code:
second_gui('XY_CALLBACK');


Wie lauten die allg. Regeln für die Parameterliste einer mit guide erstellten gui?
Private Nachricht senden Benutzer-Profile anzeigen
 
Marco H.
Forum-Guru

Forum-Guru


Beiträge: 404
Anmeldedatum: 12.11.10
Wohnort: Dortmund
Version: 2010a/2012b
     Beitrag Verfasst am: 01.03.2012, 13:12     Titel:
  Antworten mit Zitat      
Hey,

Zitat:

Sehe ich das richtig, das der erste Parameter dazu benutzt werden kann, um direkt einen 'CALLBACK' einer Funktion (gui) aufzurufen?

Ja das siehst du richtig. Beispiel:
Code:

% Aufruf des Callbacks, hierbei sind hObject, eventdata, handles nicht definiert
deineGUI('pushbutton1_Callback')
% 2. Variante (hObject, eventdata, handles sind 1)
deineGUI('pushbutton1_Callback',1,1,1)
% 3. Variante (hObject, eventdata, handles sind 1 und dem Callback muss varargin hinzugefügt werden)
deineGUI('pushbutton1_Callback',1,1,1,1,1)

% Beispiel für 3. Variante
function pushbutton1_Callback(hObject, eventdata, handles, varargin)
 

In diesen Fällen existiert der pushbutton1_Callback in dem M-File der GUI deineGUI. So kann man callbacks aus anderen GUIS aufrufen ohne das sich diese öffnen muss.

Greetings
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.