goMatlab - Mein MATLAB Forum

Mein MATLAB Forum

 
Login  | Registrieren
Bücher:

MATLAB kompakt

Fachkräfte:
Softwareentwickler MATLAB/Simulink (w/m)
Erarbeitung von Lösungen im Bereich der Schnittstelle zum Simulink-Modell und der Benutzeroberfläche von TargetLink
dSPACE GmbH - Paderborn

Testingenieur (w/m) Testframework für Simulink-basierte Echtzeitanwendungen
Pflege des MATLAB/Simulink-Testframeworks, Spezifizieren von Testkriterien, Testfällen und Testszenarien
dSPACE GmbH - Paderborn

Testingenieur (w/m) Konfigurationswerkzeuge für Echtzeitsysteme
Einbinden von Simulink®-Simulationsmodellen, Verteilung der Simulationsmodelle auf Multicore- und Multiprozessorsysteme
dSPACE GmbH - Paderborn

Entwicklungsingenieur (m/w) für die Regelung von Powertrain-Systemen
Entwicklung von Regelungsstrategien im Hinblick auf das Gesamtfahrzeug
Continental AG - Regensburg

Systemingenieur/in für Elektronische Selbstschutzmaßnahmen von Luftfahrzeugen
Analyse und Definition von Arbeitsabläufen, Erstellung technischer Spezifikationen
ESG Elektroniksystem- und Logistik-GmbH - Fürstenfeldbruck (Reisebereitschaft)

weitere Angebote

Partner:




Vermarktungspartner


Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

GUIDE GUI in objectorientiertes Programm einfügen

 

godi
Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 25.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2011, 13:43     Titel: GUIDE GUI in objectorientiertes Programm einfügen
  Antworten mit Zitat      
Hallo!

Ich will eine GUI mit GUIDE erstellen.
Das erzeugte .m file würde ich gerne in eine Klasse einfügen,
aber die Editierbarkeit über den GUIDE soll erhalten bleiben.

Ich habe dazu einfach eine Klasse mit externen Methoden angelegt.
Also einen Ordner mit @myGUI und darin die Klasse myGUI die im Konstruktor dann die automatisch generierte Methode/Funktion vom GUIDE mit obj.handles = obj.GUI aufruft.

Somit started ja die GUI dann automatisch wenn die Klasse myGUI erzeugt wird.

Nur bekomme ich dann immer folgende Fehler:
Zitat:

??? Undefined function or method 'GUI' for input arguments of
type 'char'.

Error in ==>
@(hObject,eventdata)GUI('edit1_CreateFcn',hObject,eventdata,guidata(hObject))


??? Error using ==> struct2handle
Error while evaluating uicontrol CreateFcn


Hat jemand eine Idee was ich falsch mache?
Die GUI started aber.

Wie integriert ihr sinnvoll eine GUIDE GUI in die Objektorientierung?

godi
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 13.07.2011, 14:48     Titel:
  Antworten mit Zitat      
Hallo,

da prallen meines Erachtens zwei verschiedene Ideen aufeinander.
GUIDE ist so angelegt, dass die GUI jedes Mal neu aufgerufen wird, sobald sich etwas in ihr ändert. Ein Konstruktor für ein Objekt wird aber in der Regel nur einmal aufgerufen, wenn das Objekt initialisiert wird. Das passt also - meines Erachtens - nicht wirklich zusammen.

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

Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 25.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2011, 15:00     Titel:
  Antworten mit Zitat      
Hallo Harald!

Also funktioniert das garnicht das ich die GUI mit GUIDE für Objektorientierte Programme erstelle?

Das heißt die GUI "händisch" Programmieren?

Ich wollte eigentlich das Tabpanel Programm verwenden um Registerkarten zu erstellen.

Da muss ich mir wohl was anderes enfallen lassen. Sad

godi
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister
Forum-Meister

Beiträge: 5351
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ---
     Beitrag Verfasst am: 13.07.2011, 15:06     Titel:
  Antworten mit Zitat      
Hallo,

ich will nicht sagen, dass es nicht funktioniert. Eher, dass ich mir nicht vorstellen kann, dass es funktioniert.
Wenn du die GUI programmatisch (das meinst du wohl mit "händisch") erstellt, kann ich mir das dagegen sehr gut vorstellen.

Wenn du bei GUIDE bleiben willst, würde ich das so aufziehen:
- GUI und Klasse separat
- Konstruktor der Klasse öffnet GUI. Das Objekt wird in der GUI hinterlegt, z.B. mit getappdata/setappdata.
- Durch die Callbacks werden Methoden auf das Objekt angewendet.

Dabei gehe ich davon aus, dass du mit einem Objekt pro GUI arbeitest. Aber das sollte sich auch erweitern lassen, wenn du mit mehreren Objekten arbeiten möchtest.

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

Forum-Anfänger
Forum-Anfänger

Beiträge: 14
Anmeldedatum: 25.05.11
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 13.07.2011, 15:25     Titel:
  Antworten mit Zitat      
Hmmm...

Irgendwie habe ich das Gefühl, dass es dann eine "dirty" Lösung wird.
Habe es gerade Probiert. Also ich kann das Automatisch generierte File dann einfach aufrufen. Das funktioniert auch soweit.
Muss mal schaun ob ich dann die Callbacks in die Klasse bekomme.

Naja werde noch weitertesten.
ABer wenn jemand noch eine Idee hat wie man das elegant löst, dann her damit! Wink

godi
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Options and Permissions
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
.


goMatlab ist ein Teil des goForen-Labels
goForen.de goMATLAB.de goLaTeX.de goPCB.de


 Impressum  | Werbung/Mediadaten | Studentenversion | FAQ | goMatlab RSS Button RSS


Copyright © 2007 - 2012 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
Partner: LabVIEWforum.de

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.