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

überschreiben von handles bei callback

 

flo93
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 19.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 23.07.2013, 16:11     Titel: überschreiben von handles bei callback
  Antworten mit Zitat      
Nachdem ich erst seit kurzem mit MatLab arbeite kann es sein das es gar nicht schwer ist.

ich hab mir einen handle erstellt um aus einem selbstgeschriebenen Callback eines dynamischen popup_menu Daten('Value' & 'String') an einen Funktion in einem anderem Callback weitergeben zu können.

Durch das durchsteppen bzw. wegen dem fehler das er den handle eines anderen Bausteins nicht kennt, habe ich herausgefunden das leider alle automatisch von Gui erstellten handles (von meine nicht dynamischen Teile) verschwinden und ich hab nur noch den neuen.

erstellen meiner handles:
Code:
% erstellen meiner handles
function GUI_PLOT_1_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;
handles.messfile_name = '';
handles.messfile_number = 0;
handles.counter = 0;
handles.popoup_position=871;
% Update handles structure
guidata(hObject, handles);
 



dynamische Funktion aus welcher die daten kommen
Code:
%dynamische Funktion aus welcher die daten kommen
function mycallback3(hObject, eventdata, handles)

contents = get(hObject,'Value')
txtfiles = dir(fullfile(path));
handles.messfile_name = txtfiles(contents,1).name;

guidata(hObject,handles);


der Callback in dem das was ich brauche nicht mehr funktioniert
Code:
%der Callback in dem das was ich brauche nicht mehr funktioniert
function push_plot_Callback(hObject, eventdata, handles)

name = handles.messfile_name;
tempstring = {name};                      
link = pwd;    

bitdata = uint(10);
bitdata =0 ;
%guidata(hObject,handles);
if get(handles.bit1, 'Value') == 1
    bitdata = bitdata +1;
end    

if get(handles.bit2, 'Value') == 1
    bitdata = bitdata +2;
end  

cd(path2);    
  makeplot(tempstring, bitdata);
cd(link);


wär sehr dankbar falls jemand eine idee hat was falsch ist bzw. wie ich ihn umgehen kann. danke schon mal im voraus für die bemühungen Very Happy
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 23.07.2013, 18:44     Titel:
  Antworten mit Zitat      
Hallo,

sieht auf den ersten Blick gut aus. Wo wird nun was nicht erkannt?

Wenn du eigene Daten in handles hinzufügst, darauf achten, dass du nicht die Tags als Feldnamen verwendest!

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
flo93
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 19.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2013, 06:44     Titel:
  Antworten mit Zitat      
Solange ich den "mycallback3" nicht ausführe, funktioniert es ja auch noch ohne Probleme. Erst wenn er vor dem "push_plot_Callback" ausgeführt wird, kann meine Funktion makeplot kann nicht mehr ausgeführt werden und bekomme ich folgende Fehlermeldung:


??? Reference to non-existent field 'bit1'.

Error in ==> GUI_PLOT_1>push_plot_Callback at 158
if get(handles.bit1, 'Value') == 1

Error in ==> gui_mainfcn at 96
feval(varargin{:});

Error in ==> GUI_PLOT_1 at 50
gui_mainfcn(gui_State, varargin{:});

Error in ==>
@(hObject,eventdata)GUI_PLOT_1('push_plot_Callback',hObject,eventdata,guidata(hObject))


??? Error while evaluating uicontrol Callback



meinst du mit Feldnamen dan die Bezeichnungenn von den handles?

bzw. kann es sein das ich keine textstrings über die handles übertragen darf?
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.495
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 24.07.2013, 07:36     Titel:
  Antworten mit Zitat      
Hallo,

ich sehe auf Anhieb nicht den Grund für das Problem. Bitte ein lauffähiges Minimalbeispiel (.m + .fig) posten, anhanddessen man das nachvollziehen kann.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
flo93
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 19.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2013, 08:45     Titel:
  Antworten mit Zitat      
Hab jetzt mal ein kleines Bsp. Programm geschriebn, hoff das es so in ortnung ist Smile

minifig.m
 Beschreibung:

Download
 Dateiname:  minifig.m
 Dateigröße:  2.46 KB
 Heruntergeladen:  331 mal
minifig.fig
 Beschreibung:

Download
 Dateiname:  minifig.fig
 Dateigröße:  2.83 KB
 Heruntergeladen:  309 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
flo93
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 19.07.13
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.07.2013, 09:42     Titel:
  Antworten mit Zitat      
habs jetzt mit dem Code vom DSP geschaft
http://www.gomatlab.de/gui-uebergab.....ighlight,gui+handles.html

Code:

% get the structure in the subfunction
handles = guidata(gcbo);
handles.data = [1,2,3,4];
% save the changes to the structure
guidata(gcbo,handles)
 



aber dennoch ein großes Dankeschön für deine Bemühungen Harald Very Happy

finde das extreme toll wie schnell und gut das in diesem Forum funktioniert
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 - 2024 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.