Hallo ich suche eine Möglichkeit eine struct zu laden, die dann von allen callback und createFcn der Anwendungen benutzt werden kann.
ich habe die struct in handles.data der openingFcn schreiben wollen, allerdings benötige ich zum Beispiel schon Daten aus der struct zum erstellen mehrerer Popupmenüs. Es kann ja nicht sinnvoll sein, den load befehl für jedes popmenü aufzurufen.
Außerdem versuche ich später mit der Auswahl weiter zu arbeiten.
den string kappa_ml aus dem popmenü hole, möchte z.B. ich mit data.v die datei laden
ich habe dort schon mit
eval
,
feval
, und
evalin
versucht zu arbeiten. bekomme aber diese fehler
danke! Das waren ja gleich alle antworten in einem kurzen Post ^^
das mit dem globalen Workspace muss ich jetzt erstmal verstehen.
Im Moment tuh ich das noch nicht so ganz. Aber es ist möglich in z.B. der openingFcn oder eine .mat Datei zu laden und dann in allen Funktionen darauf zuzugreifen.
Soweit ich das verstanden habe sollte es doch so funktionieren oder??
Code:
% --- Executes just before endgui is made visible. function endgui_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to endgui (see VARARGIN)
% Choose default command line output for endgui
handles.output = hObject;
load('data.mat');
handles.data=data;
% Update handles structure guidata(hObject, handles);
leider funktioniert es bei mir aber noch nicht darauf in den creatFcn der Popmenüs darauf zuzugreifen.
Code:
function popup111_CreateFcn(hObject, eventdata, handles) % hObject handle to popup111 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. ifispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white');
end % set(hObject, 'String', {'leer','\kappa Mittellinie', '\kappa Rennlinie', 'dmax Mittellinie', 'd Rennlinie'}); set(hObject, 'String', handles.data.strings);
ich persönlich nutze nie die CreateFcns, sondern stecke alles in die OpeningFcn.
Überprüfe doch mal mit dem Debugger, ob zuerst die CreateFcn oder die OpeningFcn ausgeführt werden. Ich würde vermuten die CreateFcn, und das wäre die Erklärung für das Problem.
Hmmm, ich habe es jetzt für 24 solcher popmenüs plus 6 Achsen dazu jedesmal mit load geladen. Ist zwar nicht schön programmiert aber läuft immerhin. Hab jetzt leider aber auch nicht mehr die zeit mir das was anzulesen. Da setze ich mich nach der Abgabe nochmal dran ^^
Danke aber schonmal für die Hilfe bisher!!!
Dieses Forum ist der Hammer
ich verstehe wirklich nicht, was dich davon abhält, den Vorschlag umzusetzen.
Du brauchst ja nur die zuletzt vorgeschlagene Zeile in die OpeningFcn zu kopieren.
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
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.