www.mikrocontroller.net

Forum: PC-Programmierung Matlab GUI auf anderem PC starten


Autor: KingKarl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich brauche dringend eure Hilfe. Ich arbeite derzeit an einer GUI. Ich 
öffne den Guide und öffne dort meine fig und alles funktioniert. Kopiere 
ich die Daten in ein anderes Verzeichnis oder auf einen anderen PC 
funktioniert die GUI nicht mehr. Er bringt mir an dieser Stelle dann 
folgendes:

Ich wähle mehrere Bilder aus und schreibe die in eine Variable:

function button_imagesource_Callback(hObject, eventdata, handles)

[filename, pathname] = uigetfile({'*.bmp;*.jpg','Graphic Files 
(*.bmp,*.jpg)';
     '*.bmp','BMP-Files (*.bmp)'; ...
     '*.jpg','JPG-Files (*.jpg)'; ...
     '*.*',  'All Files (*.*)'},'MultiSelect', 'on')




    global first;
    if first == 0

        filename = unique(filename); %sort filenames and delete 
duplicates
        handles.filename = filename;
        handles.pathname = pathname;
        first = 1;

    else

        if iscell(filename)
            filename = unique(filename);
        end

    end

    if isequal(filename,0) | isequal(pathname,0)
        return;
    end


   disp(handles) % Das struct handles wird hier nicht angezeigt!!!
   inputFileNames = get(handles.listbox,'String'); % Hier kommt der 
Fehler




hier kommt dann:

filename =

'2.bmp' '3.bmp' '4.bmp' '5.bmp' '6.bmp'


pathname =

C:\Programme\MATLAB701\work\

??? Attempt to reference field of non-structure array.



Das Problem ist folgendes:

wenn ich die GUI ohne den Guide starte, dann springt er mir nicht in die 
Funktion:

function bla_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 gui_mtf (see VARARGIN)

% Choose default command line output for bla
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

hier wird nämlich die handles Struktur definiert. Da er hier nicht 
reinspringt, kennt er die Struktur auch nicht und meckert dann wenn man 
auf die zugreifen will....

Weiß jemand wieso er nicht reinspringt?

Ich muss die GUI so zum laufen bringen, dass ich sie auf einem anderen 
Rechner starten kann. Später wenn alles fertig ist möchte ich mit dem 
Matlab Compiler eine Exe erstellen, die dann anderen mit Hilfe von 
Matlab Runtime... starten und verwenden können.

Hoffe auf schnelle Hilfe, da ich ein wenig unter Zeitdruck stehe. Der 
Großteil hier im Forum ist ja sher kompetent.

Autor: KingKarl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat sich erledigt. In einem anderen Forum wurde mir bereits geholfen. 
Für meine Nachfolger:

Es lag daran, dass ich die GUI über den Guide gestartet habe. Man muss 
aber das m-file an sich starten, da u.a. die handles Struktur nicht 
initilisiert wird.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.