|
|
handles in GUIs übergeben |
|
Falko |
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.04.08
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 21.04.2008, 10:34
Titel: handles in GUIs übergeben
|
|
Hallo, leider hat mir die Suche bei diesem Thema nicht viel helfen können.
Es muss doch einen einfachen Weg geben, den handles-struct eines 1. GUIs an einen 2. zu übergeben. Im 1. GUI gebe ich über edit-Fenster die Werte ein und drücke dann auf den Button, der den 2. GUI öffnet. In dem 2. GUI sollen die Werte einfach in Textfelder eingesetzt und ausgegeben werden. Bekomme aber immer die Fehlermeldung:
Reference to non-existent field 'Bu1x'
_________________
Grüße, Falko
|
|
|
|
|
tompie |
Forum-Guru
|
|
Beiträge: 260
|
|
|
|
Anmeldedatum: 19.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: immer alles
|
|
|
|
|
|
Verfasst am: 21.04.2008, 12:35
Titel:
|
|
Hallo,
mit
bekommst Du ja den handles-struct des Objektes 'hObject' (sofern dieser erzeugt und upgedated wurde...). In hObject steht in Deinem Fall also einfach der Handle des 1. GUI drin. Diesen Handle kannst Du ja beim Aufruf des 2. GUI mitschicken. Alternativ kannst Du ihn im 2. GUI auch durch
erhalten. Dazu sollte aber in der root-Ebene die Eigenschaft 'ShowHiddenHandles' auf 'on' gesetzt sein, sonst sieht Dein 2. GUI den Handle des 1. GUI evtl. nicht:
Wieder alternativ kannst Du den Handle des 1. GUI auch über z.B.
in die root-Ebene hängen und im 2. GUI wieder mit
lesen.
So könntest Du auch den gesamten handles-struct übergeben:
Du siehst, es gibt derlei viele Möglichkeiten.
Gruß tompie
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 21.04.2008, 12:44
Titel:
|
|
bzgl. des Vorschlages von tompie - Du kannst die Zeile mit "ShowHiddenHandles" sich ersparen, wenn Du FINDALL statt FINDOBJ verwendet.
MfG
|
|
|
Falko |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.04.08
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 09:05
Titel:
|
|
Vielen Dank für eure Antworten!
ich fange mal mit Tompies ersten Vorschlag an.
Ist der Begriff hObject als Platzhalter für den GUI zu verstehen oder ist dieser immer gleich?
Ich habe jetzt im ersten GUI folgendes geschrieben:
mit:
Zitat: |
set(handles.text_L1x,'STRING',handles.Bu1x); |
möchte ich den Wert Bu1x in das Textfeld L1x schreiben. Diese Anweisung habe ich in der opening-function von GUI2 stehen. Aber der Fehler erscheint immernoch.
_________________
Grüße, Falko
Zuletzt bearbeitet von Falko am 22.04.2008, 09:23, insgesamt einmal bearbeitet
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 09:20
Titel:
|
|
"hObject" ist der Handle des Objekts von dem der Callback abgefeuert wurde. Dahinter steht die GCBO-Funktion.
MfG
|
|
|
Falko |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.04.08
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 10:36
Titel:
|
|
@ outsider:
habe auch deinen Vorschlag getestet. Kriege zwar keine Fehlermeldung, aber auch nichts angezeigt, sprich das Textfeld bleibt leer.
mein Code in der Opening-Fct. von GUI2 lautet
im Command Window lasse ich mir den Wert ausgeben, es erscheint:
_________________
Grüße, Falko
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 10:44
Titel:
|
|
was ist "Eingabeblatt'?
Falls das der Name von der GUI ist (was in der Title-Leiste angezeigt wird), dann sollte es so sein:
Falls es sich um ein 'Tag' handelt, dann
Aber definitiv hat 'handles.Bu1x' dort nichts zu suchen.
MfG
|
|
|
Falko |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.04.08
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 22.04.2008, 11:11
Titel:
|
|
Ja, "Eingabeblatt" heißt mein GUI1. Also muss ich 'Name' in die Befehlszeile eingeben. Aber wie kann ich dann den Wert von handles.Bu1x der Variable Bu1x zuweisen?
_________________
Grüße, Falko
|
|
|
outsider |
Forum-Meister
|
|
Beiträge: 806
|
|
|
|
Anmeldedatum: 03.09.07
|
|
|
|
Wohnort: München
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 11:47
Titel:
|
|
Du willst aus einer GUI heraus auf die Handles-Strukt einer anderen GUI zugreifen. Dafür musst Du aus dem Callback einer GUI den Handle von der anderen GUI bestimmen. Dafür benutzt man den Aufruf, den ich Dir geschrieben habe (mit FINDALL). Als Ergebnis bekommst Du den Handle von der GUI, auf die Du zugreifen willst!
Bitte lese genau diesen thread durch.
obendrauf noch den Link:
How do I pass data between GUIs in MATLAB 6.5 (R13)?
http://www.mathworks.com/support/so.....AR8.html?solution=1-1BAR8
MfG
|
|
|
denny |
Supporter
|
|
Beiträge: 3.853
|
|
|
|
Anmeldedatum: 14.02.08
|
|
|
|
Wohnort: Ulm
|
|
|
|
Version: R2012b
|
|
|
|
|
|
Verfasst am: 22.04.2008, 12:07
Titel:
|
|
|
|
Falko |
Themenstarter
Forum-Fortgeschrittener
|
|
Beiträge: 55
|
|
|
|
Anmeldedatum: 11.04.08
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.04.2008, 13:04
Titel:
|
|
Vielen Dank für die Unterstützung - ohne euch wäre ich ganz schön ratlos!!!
_________________
Grüße, Falko
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|